(signature: ts.Signature, checker: ts.TypeChecker, location: ts.Node)
| 2909 | } |
| 2910 | |
| 2911 | function signatureShapeKey(signature: ts.Signature, checker: ts.TypeChecker, location: ts.Node): string { |
| 2912 | const hasRest = signature.parameters.some((parameter) => |
| 2913 | signatureParameterDeclaration(parameter)?.dotDotDotToken !== undefined |
| 2914 | ) |
| 2915 | const returnType = checker.getReturnTypeOfSignature(signature) |
| 2916 | const returnMode = checker.getSignaturesOfType(returnType, ts.SignatureKind.Call).length > 0 ? "curried" : "direct" |
| 2917 | return [ |
| 2918 | hasRest ? "rest" : "fixed", |
| 2919 | signatureParameterKind(signature.parameters[0], checker, location), |
| 2920 | signatureTailKind(signature, checker, location), |
| 2921 | returnMode |
| 2922 | ].join(":") |
| 2923 | } |
| 2924 | |
| 2925 | function representativeSignatures( |
| 2926 | signatures: ReadonlyArray<ts.Signature>, |
no test coverage detected