(node)
| 62514 | return !root.isDistributive && isSingletonTupleType(root.node.checkType) && isSingletonTupleType(root.node.extendsType); |
| 62515 | } |
| 62516 | function isSingletonTupleType(node) { |
| 62517 | return ts.isTupleTypeNode(node) && |
| 62518 | ts.length(node.elements) === 1 && |
| 62519 | !ts.isOptionalTypeNode(node.elements[0]) && |
| 62520 | !ts.isRestTypeNode(node.elements[0]) && |
| 62521 | !(ts.isNamedTupleMember(node.elements[0]) && (node.elements[0].questionToken || node.elements[0].dotDotDotToken)); |
| 62522 | } |
| 62523 | /** |
| 62524 | * We syntactually check for common nondistributive conditional shapes and unwrap them into |
| 62525 | * the intended comparison - we do this so we can check if the unwrapped types are generic or |
no test coverage detected