@typespec/compiler 0.45.0-dev.15 → 0.45.0-dev.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/checker.d.ts.map +1 -1
- package/dist/core/checker.js +1 -18
- package/dist/core/checker.js.map +1 -1
- package/dist/core/type-utils.d.ts +4 -1
- package/dist/core/type-utils.d.ts.map +1 -1
- package/dist/core/type-utils.js +17 -0
- package/dist/core/type-utils.js.map +1 -1
- package/dist/manifest.js +1 -1
- package/dist/server/completion.js +2 -2
- package/dist/server/completion.js.map +1 -1
- package/dist/server/serverlib.d.ts.map +1 -1
- package/dist/server/serverlib.js +141 -71
- package/dist/server/serverlib.js.map +1 -1
- package/dist/server/type-details.d.ts +1 -10
- package/dist/server/type-details.d.ts.map +1 -1
- package/dist/server/type-details.js +38 -22
- package/dist/server/type-details.js.map +1 -1
- package/dist/server/type-signature.js +19 -3
- package/dist/server/type-signature.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,47 +1,49 @@
|
|
|
1
1
|
import { compilerAssert, getDocData, SyntaxKind, } from "../core/index.js";
|
|
2
|
-
import {
|
|
2
|
+
import { getSymbolSignature } from "./type-signature.js";
|
|
3
3
|
/**
|
|
4
|
-
* Get the detailed documentation
|
|
4
|
+
* Get the detailed documentation for a symbol.
|
|
5
5
|
* @param program The program
|
|
6
|
+
* @internal
|
|
6
7
|
*/
|
|
7
|
-
export function
|
|
8
|
+
export function getSymbolDetails(program, symbol, options = {
|
|
8
9
|
includeSignature: true,
|
|
9
10
|
includeParameterTags: true,
|
|
10
11
|
}) {
|
|
11
|
-
|
|
12
|
-
// We've already resolved to a Type and lost the alias node so we don't show doc comments on aliases or alias signatures, currently.
|
|
13
|
-
var _a, _b;
|
|
14
|
-
if (type.kind === "Intrinsic") {
|
|
15
|
-
return "";
|
|
16
|
-
}
|
|
12
|
+
var _a;
|
|
17
13
|
const lines = [];
|
|
18
14
|
if (options.includeSignature) {
|
|
19
|
-
lines.push(
|
|
15
|
+
lines.push(getSymbolSignature(program, symbol));
|
|
20
16
|
}
|
|
21
|
-
const doc =
|
|
17
|
+
const doc = getSymbolDocumentation(program, symbol);
|
|
22
18
|
if (doc) {
|
|
23
19
|
lines.push(doc);
|
|
24
20
|
}
|
|
25
|
-
for (const
|
|
26
|
-
for (const
|
|
27
|
-
|
|
28
|
-
|
|
21
|
+
for (const node of symbol.declarations) {
|
|
22
|
+
for (const doc of (_a = node === null || node === void 0 ? void 0 : node.docs) !== null && _a !== void 0 ? _a : []) {
|
|
23
|
+
for (const tag of doc.tags) {
|
|
24
|
+
if (!options.includeParameterTags &&
|
|
25
|
+
(tag.kind === SyntaxKind.DocParamTag || tag.kind === SyntaxKind.DocTemplateTag)) {
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
lines.push(
|
|
29
|
+
//prettier-ignore
|
|
30
|
+
`_@${tag.tagName.sv}_${"paramName" in tag ? ` \`${tag.paramName.sv}\`` : ""} —\n${getDocContent(tag.content)}`);
|
|
29
31
|
}
|
|
30
|
-
lines.push(
|
|
31
|
-
//prettier-ignore
|
|
32
|
-
`_@${tag.tagName.sv}_${"paramName" in tag ? ` \`${tag.paramName.sv}\`` : ""} —\n${getDocContent(tag.content)}`);
|
|
33
32
|
}
|
|
34
33
|
}
|
|
35
34
|
return lines.join("\n\n");
|
|
36
35
|
}
|
|
37
|
-
function
|
|
36
|
+
function getSymbolDocumentation(program, symbol) {
|
|
38
37
|
var _a, _b;
|
|
39
38
|
const docs = [];
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
for (const node of symbol.declarations) {
|
|
40
|
+
// Add /** ... */ developer docs
|
|
41
|
+
for (const d of (_a = node.docs) !== null && _a !== void 0 ? _a : []) {
|
|
42
|
+
docs.push(getDocContent(d.content));
|
|
43
|
+
}
|
|
43
44
|
}
|
|
44
45
|
// Add @doc(...) API docs
|
|
46
|
+
const type = (_b = symbol.type) !== null && _b !== void 0 ? _b : program.checker.getTypeForNode(symbol.declarations[0]);
|
|
45
47
|
const apiDocs = getDocData(program, type);
|
|
46
48
|
// The doc comment is already included above we don't want to duplicate
|
|
47
49
|
if (apiDocs && apiDocs.source === "@doc") {
|
|
@@ -49,6 +51,7 @@ function getTypeDocumentation(program, type) {
|
|
|
49
51
|
}
|
|
50
52
|
return docs.join("\n\n");
|
|
51
53
|
}
|
|
54
|
+
/** @internal */
|
|
52
55
|
export function getParameterDocumentation(program, type) {
|
|
53
56
|
var _a, _b;
|
|
54
57
|
const map = new Map();
|
|
@@ -61,6 +64,19 @@ export function getParameterDocumentation(program, type) {
|
|
|
61
64
|
}
|
|
62
65
|
return map;
|
|
63
66
|
}
|
|
67
|
+
/** @internal */
|
|
68
|
+
export function getTemplateParameterDocumentation(node) {
|
|
69
|
+
var _a;
|
|
70
|
+
const map = new Map();
|
|
71
|
+
for (const d of (_a = node === null || node === void 0 ? void 0 : node.docs) !== null && _a !== void 0 ? _a : []) {
|
|
72
|
+
for (const tag of d.tags) {
|
|
73
|
+
if (tag.kind === SyntaxKind.DocTemplateTag) {
|
|
74
|
+
map.set(tag.paramName.sv, getDocContent(tag.content));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return map;
|
|
79
|
+
}
|
|
64
80
|
function getDocContent(content) {
|
|
65
81
|
const docs = [];
|
|
66
82
|
for (const node of content) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-details.js","sourceRoot":"","sources":["../../server/type-details.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAEd,UAAU,
|
|
1
|
+
{"version":3,"file":"type-details.js","sourceRoot":"","sources":["../../server/type-details.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,20 @@
|
|
|
1
1
|
import { compilerAssert } from "../core/diagnostics.js";
|
|
2
2
|
import { getTypeName, isStdNamespace } from "../core/helpers/type-name-utils.js";
|
|
3
|
+
import { getFullyQualifiedSymbolName } from "../core/type-utils.js";
|
|
4
|
+
import { SyntaxKind, } from "../core/types.js";
|
|
3
5
|
import { printId } from "../formatter/print/printer.js";
|
|
4
6
|
/** @internal */
|
|
5
|
-
export function
|
|
7
|
+
export function getSymbolSignature(program, sym) {
|
|
8
|
+
var _a;
|
|
9
|
+
const decl = sym.declarations[0];
|
|
10
|
+
switch (decl === null || decl === void 0 ? void 0 : decl.kind) {
|
|
11
|
+
case SyntaxKind.AliasStatement:
|
|
12
|
+
return fence(`alias ${getAliasSignature(decl)}`);
|
|
13
|
+
}
|
|
14
|
+
const type = (_a = sym.type) !== null && _a !== void 0 ? _a : program.checker.getTypeForNode(decl);
|
|
15
|
+
return getTypeSignature(type);
|
|
16
|
+
}
|
|
17
|
+
function getTypeSignature(type) {
|
|
6
18
|
switch (type.kind) {
|
|
7
19
|
case "Scalar":
|
|
8
20
|
case "Enum":
|
|
@@ -25,7 +37,7 @@ export function getTypeSignature(type) {
|
|
|
25
37
|
case "Number":
|
|
26
38
|
return `(number)\n${fence(type.value.toString())}`;
|
|
27
39
|
case "Intrinsic":
|
|
28
|
-
return
|
|
40
|
+
return "";
|
|
29
41
|
case "FunctionParameter":
|
|
30
42
|
return `(function parameter)\n${fence(getFunctionParameterSignature(type))}`;
|
|
31
43
|
case "ModelProperty":
|
|
@@ -45,7 +57,6 @@ export function getTypeSignature(type) {
|
|
|
45
57
|
default:
|
|
46
58
|
const _assertNever = type;
|
|
47
59
|
compilerAssert(false, "Unexpected type kind");
|
|
48
|
-
return "";
|
|
49
60
|
}
|
|
50
61
|
}
|
|
51
62
|
function getDecoratorSignature(type) {
|
|
@@ -87,6 +98,11 @@ function getEnumMemberSignature(member) {
|
|
|
87
98
|
? `${ns}${printId(member.name)}`
|
|
88
99
|
: `${ns}${printId(member.name)}: ${value}`;
|
|
89
100
|
}
|
|
101
|
+
function getAliasSignature(alias) {
|
|
102
|
+
const fullName = getFullyQualifiedSymbolName(alias.symbol);
|
|
103
|
+
const args = alias.templateParameters.map((t) => t.id.sv);
|
|
104
|
+
return args.length === 0 ? fullName : `${fullName}<${args.join(", ")}>`;
|
|
105
|
+
}
|
|
90
106
|
function getQualifier(parent) {
|
|
91
107
|
if (!(parent === null || parent === void 0 ? void 0 : parent.name) ||
|
|
92
108
|
typeof parent.name !== "string" ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-signature.js","sourceRoot":"","sources":["../../server/type-signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"type-signature.js","sourceRoot":"","sources":["../../server/type-signature.ts"],"names":[],"mappings":"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"}
|