Skip to content

Commit d782616

Browse files
committed
fix(dts generation): add support for type aliases
Closes angular#3952
1 parent ad3b9cf commit d782616

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

docs/typescript-definition-package/processors/code_gen.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,10 @@ DtsSerializer.prototype = {
107107
this.declaration(buffer, ast);
108108
},
109109

110+
typeAlias: function(buffer, ast) {
111+
buffer.push('type ', ast.name, ' = ', ast.returnType);
112+
},
113+
110114
serializeExport: function(ast) {
111115
var buffer = new Buffer();
112116
buffer.push('\n');
@@ -121,6 +125,7 @@ DtsSerializer.prototype = {
121125
case 'enum': this.enum(buffer, ast); break;
122126
case 'var': this.var(buffer, ast); break;
123127
case 'const': this.const(buffer, ast); break;
128+
case 'type-alias': this.typeAlias(buffer, ast); break;
124129
default: throw new Error("unknown docType: " + ast.docType);
125130
}
126131

docs/typescript-package/processors/readTypeScriptModules.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,10 @@ module.exports = function readTypeScriptModules(tsParser, modules, getFileInfo,
205205
exportSymbol.valueDeclaration.type.typeName.text;
206206
}
207207

208+
if (exportDoc.docType === 'type-alias') {
209+
exportDoc.returnType = getReturnType(typeChecker, exportSymbol);
210+
}
211+
208212
if(exportSymbol.flags & ts.SymbolFlags.Function) {
209213
exportDoc.parameters = getParameters(typeChecker, exportSymbol);
210214
}

0 commit comments

Comments
 (0)