Declare 'sum' so that it doesn't require type arguments.
This commit is contained in:
parent
bb3253e544
commit
d25fd23e04
2 changed files with 5 additions and 5 deletions
|
@ -83,9 +83,9 @@ namespace ts {
|
|||
// extra cost of calling `getParseTreeNode` when calling these functions from inside the
|
||||
// checker.
|
||||
const checker: TypeChecker = {
|
||||
getNodeCount: () => sum<"nodeCount">(host.getSourceFiles(), "nodeCount"),
|
||||
getIdentifierCount: () => sum<"identifierCount">(host.getSourceFiles(), "identifierCount"),
|
||||
getSymbolCount: () => sum<"symbolCount">(host.getSourceFiles(), "symbolCount") + symbolCount,
|
||||
getNodeCount: () => sum(host.getSourceFiles(), "nodeCount"),
|
||||
getIdentifierCount: () => sum(host.getSourceFiles(), "identifierCount"),
|
||||
getSymbolCount: () => sum(host.getSourceFiles(), "symbolCount") + symbolCount,
|
||||
getTypeCount: () => typeCount,
|
||||
isUndefinedSymbol: symbol => symbol === undefinedSymbol,
|
||||
isArgumentsSymbol: symbol => symbol === argumentsSymbol,
|
||||
|
|
|
@ -700,10 +700,10 @@ namespace ts {
|
|||
return result;
|
||||
}
|
||||
|
||||
export function sum<K extends string>(array: { [x in K]: number }[], prop: K): number {
|
||||
export function sum<T extends Record<K, number>, K extends string>(array: T[], prop: K): number {
|
||||
let result = 0;
|
||||
for (const v of array) {
|
||||
result += v[prop];
|
||||
result += (v[prop] as number);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue