Skip to content

Commit

Permalink
fix: Initializers should only be included if "simple"
Browse files Browse the repository at this point in the history
Closes #1288
Closes #1224
Closes #764
  • Loading branch information
Gerrit0 committed Dec 29, 2020
1 parent 79471af commit 5bf4d05
Show file tree
Hide file tree
Showing 11 changed files with 48 additions and 47 deletions.
17 changes: 9 additions & 8 deletions src/lib/converter/convert-expression.ts
Expand Up @@ -17,19 +17,20 @@ export function convertDefaultValue(
}
}

export function convertExpression(expression: ts.Expression): string {
export function convertExpression(
expression: ts.Expression
): string | undefined {
switch (expression.kind) {
case ts.SyntaxKind.StringLiteral:
return '"' + (<ts.LiteralExpression>expression).text + '"';
case ts.SyntaxKind.NumericLiteral:
return (<ts.LiteralExpression>expression).text;
case ts.SyntaxKind.TrueKeyword:
return "true";
case ts.SyntaxKind.FalseKeyword:
return "false";
case ts.SyntaxKind.NullKeyword:
return "null";
case ts.SyntaxKind.NumericLiteral:
case ts.SyntaxKind.PrefixUnaryExpression:
return expression.getText();
default:
return expression.getText(expression.getSourceFile());
// More complex expressions are generally not useful in the documentation.
// Show that there was a value, but not specifics.
return "...";
}
}
6 changes: 3 additions & 3 deletions src/test/converter/alias/specs.json
Expand Up @@ -118,7 +118,7 @@
],
"name": "Example"
},
"defaultValue": "makeExample()"
"defaultValue": "..."
},
{
"id": 33,
Expand All @@ -133,7 +133,7 @@
"id": 29,
"name": "ExampleParam"
},
"defaultValue": "makeExample2()"
"defaultValue": "..."
},
{
"id": 38,
Expand All @@ -154,7 +154,7 @@
],
"name": "HasProp"
},
"defaultValue": "makeProp(1)"
"defaultValue": "..."
}
],
"groups": [
Expand Down
4 changes: 2 additions & 2 deletions src/test/converter/function/specs.json
Expand Up @@ -757,7 +757,7 @@
"type": "intrinsic",
"name": "number"
},
"defaultValue": "Number.NaN"
"defaultValue": "..."
},
{
"id": 18,
Expand Down Expand Up @@ -787,7 +787,7 @@
"type": "intrinsic",
"name": "boolean"
},
"defaultValue": "null!"
"defaultValue": "..."
}
],
"type": {
Expand Down
10 changes: 5 additions & 5 deletions src/test/converter/types/specs.json
Expand Up @@ -79,7 +79,7 @@
"negative": false
}
},
"defaultValue": "makeValue<1n>()"
"defaultValue": "..."
},
{
"id": 5,
Expand All @@ -96,7 +96,7 @@
"negative": true
}
},
"defaultValue": "makeValue<-1n>()"
"defaultValue": "..."
},
{
"id": 7,
Expand All @@ -113,7 +113,7 @@
"name": "number"
}
},
"defaultValue": "makeValue<number[]>()"
"defaultValue": "..."
}
],
"groups": [
Expand Down Expand Up @@ -602,7 +602,7 @@
}
]
},
"defaultValue": "returnMapped<NamedTuple>()"
"defaultValue": "..."
}
],
"groups": [
Expand Down Expand Up @@ -730,7 +730,7 @@
"name": "symbol"
}
},
"defaultValue": "Symbol()"
"defaultValue": "..."
}
],
"groups": [
Expand Down
24 changes: 12 additions & 12 deletions src/test/converter/variables/specs.json
Expand Up @@ -247,7 +247,7 @@
}
}
},
"defaultValue": "[]"
"defaultValue": "..."
},
{
"id": 8,
Expand All @@ -271,7 +271,7 @@
],
"name": "Array"
},
"defaultValue": "{}"
"defaultValue": "..."
}
],
"groups": [
Expand Down Expand Up @@ -621,7 +621,7 @@
]
}
},
"defaultValue": "(errorCallback: () => any) => {\n onError = errorCallback;\n return callbackReturn;\n }"
"defaultValue": "..."
},
{
"id": 64,
Expand Down Expand Up @@ -684,7 +684,7 @@
]
}
},
"defaultValue": "(finallyCallback: () => any) => {\n onFinally = finallyCallback;\n return callbackReturn;\n }"
"defaultValue": "..."
},
{
"id": 52,
Expand Down Expand Up @@ -747,7 +747,7 @@
]
}
},
"defaultValue": "(successCallback: () => any) => {\n onSuccess = successCallback;\n return callbackReturn;\n }"
"defaultValue": "..."
}
],
"groups": [
Expand All @@ -763,7 +763,7 @@
]
}
},
"defaultValue": "{\n success: (successCallback: () => any) => {\n onSuccess = successCallback;\n return callbackReturn;\n },\n error: (errorCallback: () => any) => {\n onError = errorCallback;\n return callbackReturn;\n },\n finally: (finallyCallback: () => any) => {\n onFinally = finallyCallback;\n return callbackReturn;\n },\n}"
"defaultValue": "..."
},
{
"id": 70,
Expand Down Expand Up @@ -873,7 +873,7 @@
"name": "number"
}
},
"defaultValue": "[100, 200, 300]"
"defaultValue": "..."
},
{
"id": 79,
Expand Down Expand Up @@ -940,7 +940,7 @@
"type": "intrinsic",
"name": "string"
},
"defaultValue": "z"
"defaultValue": "..."
}
],
"groups": [
Expand All @@ -959,7 +959,7 @@
]
}
},
"defaultValue": "(z: string) => {\n return { a: \"test\", b: z };\n }"
"defaultValue": "..."
},
{
"id": 78,
Expand Down Expand Up @@ -987,7 +987,7 @@
]
}
},
"defaultValue": "{\n valueZ: \"foo\",\n valueY: (z: string) => {\n return { a: \"test\", b: z };\n },\n valueA: [100, 200, 300],\n }"
"defaultValue": "..."
},
{
"id": 73,
Expand Down Expand Up @@ -1018,7 +1018,7 @@
]
}
},
"defaultValue": "function () {\n return \"foo\";\n }"
"defaultValue": "..."
},
{
"id": 72,
Expand Down Expand Up @@ -1051,7 +1051,7 @@
]
}
},
"defaultValue": "{\n valueZ: \"foo\",\n valueY: function () {\n return \"foo\";\n },\n valueX: {\n valueZ: \"foo\",\n valueY: (z: string) => {\n return { a: \"test\", b: z };\n },\n valueA: [100, 200, 300],\n },\n valueA: 100,\n valueB: true,\n [Symbol.toStringTag]: \"computed\",\n [x]: true,\n [\"literal2\"]: true,\n}"
"defaultValue": "..."
},
{
"id": 31,
Expand Down
24 changes: 12 additions & 12 deletions src/test/converter/variables/specs.nodoc.json
Expand Up @@ -247,7 +247,7 @@
}
}
},
"defaultValue": "[]"
"defaultValue": "..."
},
{
"id": 8,
Expand All @@ -271,7 +271,7 @@
],
"name": "Array"
},
"defaultValue": "{}"
"defaultValue": "..."
}
],
"groups": [
Expand Down Expand Up @@ -621,7 +621,7 @@
]
}
},
"defaultValue": "(errorCallback: () => any) => {\n onError = errorCallback;\n return callbackReturn;\n }"
"defaultValue": "..."
},
{
"id": 64,
Expand Down Expand Up @@ -684,7 +684,7 @@
]
}
},
"defaultValue": "(finallyCallback: () => any) => {\n onFinally = finallyCallback;\n return callbackReturn;\n }"
"defaultValue": "..."
},
{
"id": 52,
Expand Down Expand Up @@ -747,7 +747,7 @@
]
}
},
"defaultValue": "(successCallback: () => any) => {\n onSuccess = successCallback;\n return callbackReturn;\n }"
"defaultValue": "..."
}
],
"groups": [
Expand All @@ -763,7 +763,7 @@
]
}
},
"defaultValue": "{\n success: (successCallback: () => any) => {\n onSuccess = successCallback;\n return callbackReturn;\n },\n error: (errorCallback: () => any) => {\n onError = errorCallback;\n return callbackReturn;\n },\n finally: (finallyCallback: () => any) => {\n onFinally = finallyCallback;\n return callbackReturn;\n },\n}"
"defaultValue": "..."
},
{
"id": 70,
Expand Down Expand Up @@ -873,7 +873,7 @@
"name": "number"
}
},
"defaultValue": "[100, 200, 300]"
"defaultValue": "..."
},
{
"id": 79,
Expand Down Expand Up @@ -940,7 +940,7 @@
"type": "intrinsic",
"name": "string"
},
"defaultValue": "z"
"defaultValue": "..."
}
],
"groups": [
Expand All @@ -959,7 +959,7 @@
]
}
},
"defaultValue": "(z: string) => {\n return { a: \"test\", b: z };\n }"
"defaultValue": "..."
},
{
"id": 78,
Expand Down Expand Up @@ -987,7 +987,7 @@
]
}
},
"defaultValue": "{\n valueZ: \"foo\",\n valueY: (z: string) => {\n return { a: \"test\", b: z };\n },\n valueA: [100, 200, 300],\n }"
"defaultValue": "..."
},
{
"id": 73,
Expand Down Expand Up @@ -1018,7 +1018,7 @@
]
}
},
"defaultValue": "function () {\n return \"foo\";\n }"
"defaultValue": "..."
},
{
"id": 72,
Expand Down Expand Up @@ -1051,7 +1051,7 @@
]
}
},
"defaultValue": "{\n valueZ: \"foo\",\n valueY: function () {\n return \"foo\";\n },\n valueX: {\n valueZ: \"foo\",\n valueY: (z: string) => {\n return { a: \"test\", b: z };\n },\n valueA: [100, 200, 300],\n },\n valueA: 100,\n valueB: true,\n [Symbol.toStringTag]: \"computed\",\n [x]: true,\n [\"literal2\"]: true,\n}"
"defaultValue": "..."
},
{
"id": 31,
Expand Down
2 changes: 1 addition & 1 deletion src/test/renderer/specs/modules/enumerations.size.html
Expand Up @@ -99,7 +99,7 @@ <h2>Variables</h2>
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-namespace">
<a name="defaultsize" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagLet">Let</span> default<wbr>Size</h3>
<div class="tsd-signature tsd-kind-icon">default<wbr>Size<span class="tsd-signature-symbol">:</span> <a href="../enums/enumerations.size-1.html" class="tsd-signature-type" data-tsd-kind="Enumeration">Size</a><span class="tsd-signature-symbol"> = Size.Medium</span></div>
<div class="tsd-signature tsd-kind-icon">default<wbr>Size<span class="tsd-signature-symbol">:</span> <a href="../enums/enumerations.size-1.html" class="tsd-signature-type" data-tsd-kind="Enumeration">Size</a><span class="tsd-signature-symbol"> = ...</span></div>
<aside class="tsd-sources">
</aside>
<div class="tsd-comment tsd-typography">
Expand Down
2 changes: 1 addition & 1 deletion src/test/renderer/specs/modules/functions.html
Expand Up @@ -244,7 +244,7 @@ <h5>valueA: <span class="tsd-signature-type">string</span><span class="tsd-signa
<h5>valueB: <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 100</span></h5>
</li>
<li>
<h5>valueC: <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = Number.NaN</span></h5>
<h5>valueC: <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = ...</span></h5>
</li>
<li>
<h5>valueD: <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> = true</span></h5>
Expand Down
2 changes: 1 addition & 1 deletion src/test/renderer/specs/modules/modules.html
Expand Up @@ -129,7 +129,7 @@ <h3><span class="tsd-flag ts-flagLet">Let</span> exported<wbr>Global<wbr>Variabl
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-module">
<a name="objectliteral" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagLet">Let</span> object<wbr>Literal</h3>
<div class="tsd-signature tsd-kind-icon">object<wbr>Literal<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>valueA<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>valueB<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>valueX<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>valueA<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">; </span>valueY<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>z<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-symbol">{ </span>a<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>b<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">; </span>valueZ<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">; </span>valueY<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>valueZ<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> = {valueZ: &quot;foo&quot;,valueY: function () {return &quot;foo&quot;;},valueX: {valueZ: &quot;foo&quot;,valueY: (z: string) &#x3D;&gt; {return { a: &quot;test&quot;, b: z };},valueA: [100, 200, 300],},valueA: 100,valueB: true,}</span></div>
<div class="tsd-signature tsd-kind-icon">object<wbr>Literal<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>valueA<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>valueB<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">; </span>valueX<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>valueA<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">; </span>valueY<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>z<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-symbol">{ </span>a<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>b<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">; </span>valueZ<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">; </span>valueY<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>valueZ<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> = ...</span></div>
<aside class="tsd-sources">
</aside>
<div class="tsd-comment tsd-typography">
Expand Down
2 changes: 1 addition & 1 deletion src/test/renderer/specs/modules/modules.mymodule.html
Expand Up @@ -107,7 +107,7 @@ <h3><span class="tsd-flag ts-flagLet">Let</span> exported<wbr>Module<wbr>Variabl
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-namespace">
<a name="object" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagLet">Let</span> object</h3>
<div class="tsd-signature tsd-kind-icon">object<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>name<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>print<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> = {/*** An object literal value.*/name: &quot;Test&quot;,/*** An object literal function.*/print: function (value: string) {},}</span></div>
<div class="tsd-signature tsd-kind-icon">object<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>name<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>print<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol"> = ...</span></div>
<aside class="tsd-sources">
</aside>
<div class="tsd-comment tsd-typography">
Expand Down

0 comments on commit 5bf4d05

Please sign in to comment.