(sig, skipUnionExpanding)
| 58004 | return result; |
| 58005 | } |
| 58006 | function getExpandedParameters(sig, skipUnionExpanding) { |
| 58007 | if (signatureHasRestParameter(sig)) { |
| 58008 | var restIndex_1 = sig.parameters.length - 1; |
| 58009 | var restType = getTypeOfSymbol(sig.parameters[restIndex_1]); |
| 58010 | if (isTupleType(restType)) { |
| 58011 | return [expandSignatureParametersWithTupleMembers(restType, restIndex_1)]; |
| 58012 | } |
| 58013 | else if (!skipUnionExpanding && restType.flags & 1048576 /* TypeFlags.Union */ && ts.every(restType.types, isTupleType)) { |
| 58014 | return ts.map(restType.types, function (t) { return expandSignatureParametersWithTupleMembers(t, restIndex_1); }); |
| 58015 | } |
| 58016 | } |
| 58017 | return [sig.parameters]; |
| 58018 | function expandSignatureParametersWithTupleMembers(restType, restIndex) { |
| 58019 | var elementTypes = getTypeArguments(restType); |
| 58020 | var associatedNames = restType.target.labeledElementDeclarations; |
| 58021 | var restParams = ts.map(elementTypes, function (t, i) { |
| 58022 | // Lookup the label from the individual tuple passed in before falling back to the signature `rest` parameter name |
| 58023 | var tupleLabelName = !!associatedNames && getTupleElementLabel(associatedNames[i]); |
| 58024 | var name = tupleLabelName || getParameterNameAtPosition(sig, restIndex + i, restType); |
| 58025 | var flags = restType.target.elementFlags[i]; |
| 58026 | var checkFlags = flags & 12 /* ElementFlags.Variable */ ? 32768 /* CheckFlags.RestParameter */ : |
| 58027 | flags & 2 /* ElementFlags.Optional */ ? 16384 /* CheckFlags.OptionalParameter */ : 0; |
| 58028 | var symbol = createSymbol(1 /* SymbolFlags.FunctionScopedVariable */, name, checkFlags); |
| 58029 | symbol.type = flags & 4 /* ElementFlags.Rest */ ? createArrayType(t) : t; |
| 58030 | return symbol; |
| 58031 | }); |
| 58032 | return ts.concatenate(sig.parameters.slice(0, restIndex), restParams); |
| 58033 | } |
| 58034 | } |
| 58035 | function getDefaultConstructSignatures(classType) { |
| 58036 | var baseConstructorType = getBaseConstructorTypeOfClass(classType); |
| 58037 | var baseSignatures = getSignaturesOfType(baseConstructorType, 1 /* SignatureKind.Construct */); |
no test coverage detected