(signature, callChainFlags)
| 57987 | return result; |
| 57988 | } |
| 57989 | function getOptionalCallSignature(signature, callChainFlags) { |
| 57990 | if ((signature.flags & 24 /* SignatureFlags.CallChainFlags */) === callChainFlags) { |
| 57991 | return signature; |
| 57992 | } |
| 57993 | if (!signature.optionalCallSignatureCache) { |
| 57994 | signature.optionalCallSignatureCache = {}; |
| 57995 | } |
| 57996 | var key = callChainFlags === 8 /* SignatureFlags.IsInnerCallChain */ ? "inner" : "outer"; |
| 57997 | return signature.optionalCallSignatureCache[key] |
| 57998 | || (signature.optionalCallSignatureCache[key] = createOptionalCallSignature(signature, callChainFlags)); |
| 57999 | } |
| 58000 | function createOptionalCallSignature(signature, callChainFlags) { |
| 58001 | ts.Debug.assert(callChainFlags === 8 /* SignatureFlags.IsInnerCallChain */ || callChainFlags === 16 /* SignatureFlags.IsOuterCallChain */, "An optional call signature can either be for an inner call chain or an outer call chain, but not both."); |
| 58002 | var result = cloneSignature(signature); |
no test coverage detected