Skip to content

Commit b355115

Browse files
committed
CLI: Prefer @tstype over @type when generating typedefs (tsd-jsdoc)
1 parent 6c37dbd commit b355115

File tree

2 files changed

+16
-10
lines changed

2 files changed

+16
-10
lines changed

Diff for: cli/lib/tsd-jsdoc/publish.js

+14-10
Original file line numberDiff line numberDiff line change
@@ -549,16 +549,20 @@ function handleTypeDef(element, parent) {
549549
if (element.templates && element.templates.length)
550550
write("<", element.templates.join(", "), ">");
551551
write(" = ");
552-
var type = getTypeOf(element);
553-
if (element.type && element.type.names.length === 1 && element.type.names[0] === "function")
554-
writeFunctionSignature(element, false, true);
555-
else if (type === "object") {
556-
if (element.properties && element.properties.length)
557-
writeInterfaceBody(element);
558-
else
559-
write("{}");
560-
} else
561-
write(type);
552+
if (element.tsType)
553+
write(element.tsType);
554+
else {
555+
var type = getTypeOf(element);
556+
if (element.type && element.type.names.length === 1 && element.type.names[0] === "function")
557+
writeFunctionSignature(element, false, true);
558+
else if (type === "object") {
559+
if (element.properties && element.properties.length)
560+
writeInterfaceBody(element);
561+
else
562+
write("{}");
563+
} else
564+
write(type);
565+
}
562566
writeln(";");
563567
}
564568
}

Diff for: src/typescript.jsdoc

+2
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22
* Constructor type.
33
* @typedef Constructor
44
* @template T extends object
5+
* @type {Function}
56
* @tstype { new(...params: any[]): T }
67
*/
78

89
/**
910
* Properties type.
1011
* @typedef Properties
1112
* @template T extends object
13+
* @type {Object.<string,*>}
1214
* @tstype { [P in keyof T]?: T[P] } & { [key: string]: any }
1315
*/

0 commit comments

Comments
 (0)