@@ -12973,25 +12973,6 @@ var ts;
1297312973 }
1297412974 return undefined;
1297512975 }
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- }
1299512976 function getSignaturesOfStructuredType(type, kind) {
1299612977 if (type.flags & 130048) {
1299712978 var resolved = resolveStructuredTypeMembers(type);
@@ -13447,7 +13428,7 @@ var ts;
1344713428 }
1344813429 function createTypedPropertyDescriptorType(propertyType) {
1344913430 var globalTypedPropertyDescriptorType = getGlobalTypedPropertyDescriptorType();
13450- return globalTypedPropertyDescriptorType !== emptyObjectType
13431+ return globalTypedPropertyDescriptorType !== emptyGenericType
1345113432 ? createTypeReference(globalTypedPropertyDescriptorType, [propertyType])
1345213433 : emptyObjectType;
1345313434 }
@@ -13500,68 +13481,19 @@ var ts;
1350013481 addTypeToSet(typeSet, type, typeSetKind);
1350113482 }
1350213483 }
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])) {
1355513487 return true;
1355613488 }
1355713489 }
1355813490 return false;
1355913491 }
13560- function removeDuplicateTypes (types) {
13492+ function removeSubtypes (types) {
1356113493 var i = types.length;
1356213494 while (i > 0) {
1356313495 i--;
13564- if (isTypeDuplicateOfSomeType (types[i], types)) {
13496+ if (isSubtypeOfAny (types[i], types)) {
1356513497 types.splice(i, 1);
1356613498 }
1356713499 }
@@ -13584,7 +13516,7 @@ var ts;
1358413516 }
1358513517 }
1358613518 }
13587- function getUnionType(types, noDeduplication ) {
13519+ function getUnionType(types, noSubtypeReduction ) {
1358813520 if (types.length === 0) {
1358913521 return emptyObjectType;
1359013522 }
@@ -13593,12 +13525,12 @@ var ts;
1359313525 if (containsTypeAny(typeSet)) {
1359413526 return anyType;
1359513527 }
13596- if (noDeduplication ) {
13528+ if (noSubtypeReduction ) {
1359713529 removeAllButLast(typeSet, undefinedType);
1359813530 removeAllButLast(typeSet, nullType);
1359913531 }
1360013532 else {
13601- removeDuplicateTypes (typeSet);
13533+ removeSubtypes (typeSet);
1360213534 }
1360313535 if (typeSet.length === 1) {
1360413536 return typeSet[0];
@@ -14092,6 +14024,26 @@ var ts;
1409214024 }
1409314025 return 0;
1409414026 }
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+ }
1409514047 function hasExcessProperties(source, target, reportErrors) {
1409614048 for (var _i = 0, _a = getPropertiesOfObjectType(source); _i < _a.length; _i++) {
1409714049 var prop = _a[_i];
@@ -14764,7 +14716,7 @@ var ts;
1476414716 return getWidenedTypeOfObjectLiteral(type);
1476514717 }
1476614718 if (type.flags & 16384) {
14767- return getUnionType(ts.map(type.types, getWidenedType));
14719+ return getUnionType(ts.map(type.types, getWidenedType), true );
1476814720 }
1476914721 if (isArrayType(type)) {
1477014722 return createArrayType(getWidenedType(type.typeArguments[0]));
@@ -17262,7 +17214,7 @@ var ts;
1726217214 }
1726317215 function createPromiseType(promisedType) {
1726417216 var globalPromiseType = getGlobalPromiseType();
17265- if (globalPromiseType !== emptyObjectType ) {
17217+ if (globalPromiseType !== emptyGenericType ) {
1726617218 promisedType = getAwaitedType(promisedType);
1726717219 return createTypeReference(globalPromiseType, [promisedType]);
1726817220 }
@@ -21343,7 +21295,7 @@ var ts;
2134321295 }
2134421296 function createInstantiatedPromiseLikeType() {
2134521297 var promiseLikeType = getGlobalPromiseLikeType();
21346- if (promiseLikeType !== emptyObjectType ) {
21298+ if (promiseLikeType !== emptyGenericType ) {
2134721299 return createTypeReference(promiseLikeType, [anyType]);
2134821300 }
2134921301 return emptyObjectType;
@@ -24459,8 +24411,12 @@ var ts;
2445924411 }
2446024412 }
2446124413 function emitJsxElement(openingNode, children) {
24414+ var syntheticReactRef = ts.createSynthesizedNode(67);
24415+ syntheticReactRef.text = 'React';
24416+ syntheticReactRef.parent = openingNode;
2446224417 emitLeadingComments(openingNode);
24463- write("React.createElement(");
24418+ emitExpressionIdentifier(syntheticReactRef);
24419+ write(".createElement(");
2446424420 emitTagName(openingNode.tagName);
2446524421 write(", ");
2446624422 if (openingNode.attributes.length === 0) {
@@ -24469,7 +24425,8 @@ var ts;
2446924425 else {
2447024426 var attrs = openingNode.attributes;
2447124427 if (ts.forEach(attrs, function (attr) { return attr.kind === 237; })) {
24472- write("React.__spread(");
24428+ emitExpressionIdentifier(syntheticReactRef);
24429+ write(".__spread(");
2447324430 var haveOpenedObjectLiteral = false;
2447424431 for (var i_1 = 0; i_1 < attrs.length; i_1++) {
2447524432 if (attrs[i_1].kind === 237) {
@@ -30461,7 +30418,7 @@ var ts;
3046130418 return optionNameMapCache;
3046230419 }
3046330420 ts.getOptionNameMap = getOptionNameMap;
30464- function parseCommandLine(commandLine) {
30421+ function parseCommandLine(commandLine, readFile ) {
3046530422 var options = {};
3046630423 var fileNames = [];
3046730424 var errors = [];
@@ -30520,7 +30477,7 @@ var ts;
3052030477 }
3052130478 }
3052230479 function parseResponseFile(fileName) {
30523- var text = ts.sys.readFile(fileName);
30480+ var text = readFile ? readFile(fileName) : ts.sys.readFile(fileName);
3052430481 if (!text) {
3052530482 errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.File_0_not_found, fileName));
3052630483 return;
0 commit comments