in build-scripts/doc-gen/util.ts [404:430]
export function getIdentifierGenericMap(node: ts.MethodDeclaration|
ts.FunctionDeclaration):
{[generic: string]: string} {
const identifierGenericMap = {};
node.forEachChild(child => {
// TypeParameterDeclarations look like <T extends Tensor|NamedTensorMap>.
if (ts.isTypeParameterDeclaration(child)) {
let identifier;
let generic;
child.forEachChild(cc => {
// Type nodes are "Tensor|NamedTensorMap"
// Identifier nodes are "T".
if (ts.isTypeNode(cc)) {
generic = cc.getText();
} else if (ts.isIdentifier(cc)) {
identifier = cc.getText();
}
});
if (identifier != null && generic != null) {
identifierGenericMap[identifier] = generic;
}
}
});
return identifierGenericMap;
}