Skip to content

Commit 5bf4d05

Browse files
committed
fix: Initializers should only be included if "simple"
Closes #1288 Closes #1224 Closes #764
1 parent 79471af commit 5bf4d05

File tree

11 files changed

+48
-47
lines changed

11 files changed

+48
-47
lines changed

src/lib/converter/convert-expression.ts

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,20 @@ export function convertDefaultValue(
1717
}
1818
}
1919

20-
export function convertExpression(expression: ts.Expression): string {
20+
export function convertExpression(
21+
expression: ts.Expression
22+
): string | undefined {
2123
switch (expression.kind) {
2224
case ts.SyntaxKind.StringLiteral:
23-
return '"' + (<ts.LiteralExpression>expression).text + '"';
24-
case ts.SyntaxKind.NumericLiteral:
25-
return (<ts.LiteralExpression>expression).text;
2625
case ts.SyntaxKind.TrueKeyword:
27-
return "true";
2826
case ts.SyntaxKind.FalseKeyword:
29-
return "false";
3027
case ts.SyntaxKind.NullKeyword:
31-
return "null";
28+
case ts.SyntaxKind.NumericLiteral:
29+
case ts.SyntaxKind.PrefixUnaryExpression:
30+
return expression.getText();
3231
default:
33-
return expression.getText(expression.getSourceFile());
32+
// More complex expressions are generally not useful in the documentation.
33+
// Show that there was a value, but not specifics.
34+
return "...";
3435
}
3536
}

src/test/converter/alias/specs.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@
118118
],
119119
"name": "Example"
120120
},
121-
"defaultValue": "makeExample()"
121+
"defaultValue": "..."
122122
},
123123
{
124124
"id": 33,
@@ -133,7 +133,7 @@
133133
"id": 29,
134134
"name": "ExampleParam"
135135
},
136-
"defaultValue": "makeExample2()"
136+
"defaultValue": "..."
137137
},
138138
{
139139
"id": 38,
@@ -154,7 +154,7 @@
154154
],
155155
"name": "HasProp"
156156
},
157-
"defaultValue": "makeProp(1)"
157+
"defaultValue": "..."
158158
}
159159
],
160160
"groups": [

src/test/converter/function/specs.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -757,7 +757,7 @@
757757
"type": "intrinsic",
758758
"name": "number"
759759
},
760-
"defaultValue": "Number.NaN"
760+
"defaultValue": "..."
761761
},
762762
{
763763
"id": 18,
@@ -787,7 +787,7 @@
787787
"type": "intrinsic",
788788
"name": "boolean"
789789
},
790-
"defaultValue": "null!"
790+
"defaultValue": "..."
791791
}
792792
],
793793
"type": {

src/test/converter/types/specs.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@
7979
"negative": false
8080
}
8181
},
82-
"defaultValue": "makeValue<1n>()"
82+
"defaultValue": "..."
8383
},
8484
{
8585
"id": 5,
@@ -96,7 +96,7 @@
9696
"negative": true
9797
}
9898
},
99-
"defaultValue": "makeValue<-1n>()"
99+
"defaultValue": "..."
100100
},
101101
{
102102
"id": 7,
@@ -113,7 +113,7 @@
113113
"name": "number"
114114
}
115115
},
116-
"defaultValue": "makeValue<number[]>()"
116+
"defaultValue": "..."
117117
}
118118
],
119119
"groups": [
@@ -602,7 +602,7 @@
602602
}
603603
]
604604
},
605-
"defaultValue": "returnMapped<NamedTuple>()"
605+
"defaultValue": "..."
606606
}
607607
],
608608
"groups": [
@@ -730,7 +730,7 @@
730730
"name": "symbol"
731731
}
732732
},
733-
"defaultValue": "Symbol()"
733+
"defaultValue": "..."
734734
}
735735
],
736736
"groups": [

src/test/converter/variables/specs.json

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@
247247
}
248248
}
249249
},
250-
"defaultValue": "[]"
250+
"defaultValue": "..."
251251
},
252252
{
253253
"id": 8,
@@ -271,7 +271,7 @@
271271
],
272272
"name": "Array"
273273
},
274-
"defaultValue": "{}"
274+
"defaultValue": "..."
275275
}
276276
],
277277
"groups": [
@@ -621,7 +621,7 @@
621621
]
622622
}
623623
},
624-
"defaultValue": "(errorCallback: () => any) => {\n onError = errorCallback;\n return callbackReturn;\n }"
624+
"defaultValue": "..."
625625
},
626626
{
627627
"id": 64,
@@ -684,7 +684,7 @@
684684
]
685685
}
686686
},
687-
"defaultValue": "(finallyCallback: () => any) => {\n onFinally = finallyCallback;\n return callbackReturn;\n }"
687+
"defaultValue": "..."
688688
},
689689
{
690690
"id": 52,
@@ -747,7 +747,7 @@
747747
]
748748
}
749749
},
750-
"defaultValue": "(successCallback: () => any) => {\n onSuccess = successCallback;\n return callbackReturn;\n }"
750+
"defaultValue": "..."
751751
}
752752
],
753753
"groups": [
@@ -763,7 +763,7 @@
763763
]
764764
}
765765
},
766-
"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}"
766+
"defaultValue": "..."
767767
},
768768
{
769769
"id": 70,
@@ -873,7 +873,7 @@
873873
"name": "number"
874874
}
875875
},
876-
"defaultValue": "[100, 200, 300]"
876+
"defaultValue": "..."
877877
},
878878
{
879879
"id": 79,
@@ -940,7 +940,7 @@
940940
"type": "intrinsic",
941941
"name": "string"
942942
},
943-
"defaultValue": "z"
943+
"defaultValue": "..."
944944
}
945945
],
946946
"groups": [
@@ -959,7 +959,7 @@
959959
]
960960
}
961961
},
962-
"defaultValue": "(z: string) => {\n return { a: \"test\", b: z };\n }"
962+
"defaultValue": "..."
963963
},
964964
{
965965
"id": 78,
@@ -987,7 +987,7 @@
987987
]
988988
}
989989
},
990-
"defaultValue": "{\n valueZ: \"foo\",\n valueY: (z: string) => {\n return { a: \"test\", b: z };\n },\n valueA: [100, 200, 300],\n }"
990+
"defaultValue": "..."
991991
},
992992
{
993993
"id": 73,
@@ -1018,7 +1018,7 @@
10181018
]
10191019
}
10201020
},
1021-
"defaultValue": "function () {\n return \"foo\";\n }"
1021+
"defaultValue": "..."
10221022
},
10231023
{
10241024
"id": 72,
@@ -1051,7 +1051,7 @@
10511051
]
10521052
}
10531053
},
1054-
"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}"
1054+
"defaultValue": "..."
10551055
},
10561056
{
10571057
"id": 31,

src/test/converter/variables/specs.nodoc.json

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@
247247
}
248248
}
249249
},
250-
"defaultValue": "[]"
250+
"defaultValue": "..."
251251
},
252252
{
253253
"id": 8,
@@ -271,7 +271,7 @@
271271
],
272272
"name": "Array"
273273
},
274-
"defaultValue": "{}"
274+
"defaultValue": "..."
275275
}
276276
],
277277
"groups": [
@@ -621,7 +621,7 @@
621621
]
622622
}
623623
},
624-
"defaultValue": "(errorCallback: () => any) => {\n onError = errorCallback;\n return callbackReturn;\n }"
624+
"defaultValue": "..."
625625
},
626626
{
627627
"id": 64,
@@ -684,7 +684,7 @@
684684
]
685685
}
686686
},
687-
"defaultValue": "(finallyCallback: () => any) => {\n onFinally = finallyCallback;\n return callbackReturn;\n }"
687+
"defaultValue": "..."
688688
},
689689
{
690690
"id": 52,
@@ -747,7 +747,7 @@
747747
]
748748
}
749749
},
750-
"defaultValue": "(successCallback: () => any) => {\n onSuccess = successCallback;\n return callbackReturn;\n }"
750+
"defaultValue": "..."
751751
}
752752
],
753753
"groups": [
@@ -763,7 +763,7 @@
763763
]
764764
}
765765
},
766-
"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}"
766+
"defaultValue": "..."
767767
},
768768
{
769769
"id": 70,
@@ -873,7 +873,7 @@
873873
"name": "number"
874874
}
875875
},
876-
"defaultValue": "[100, 200, 300]"
876+
"defaultValue": "..."
877877
},
878878
{
879879
"id": 79,
@@ -940,7 +940,7 @@
940940
"type": "intrinsic",
941941
"name": "string"
942942
},
943-
"defaultValue": "z"
943+
"defaultValue": "..."
944944
}
945945
],
946946
"groups": [
@@ -959,7 +959,7 @@
959959
]
960960
}
961961
},
962-
"defaultValue": "(z: string) => {\n return { a: \"test\", b: z };\n }"
962+
"defaultValue": "..."
963963
},
964964
{
965965
"id": 78,
@@ -987,7 +987,7 @@
987987
]
988988
}
989989
},
990-
"defaultValue": "{\n valueZ: \"foo\",\n valueY: (z: string) => {\n return { a: \"test\", b: z };\n },\n valueA: [100, 200, 300],\n }"
990+
"defaultValue": "..."
991991
},
992992
{
993993
"id": 73,
@@ -1018,7 +1018,7 @@
10181018
]
10191019
}
10201020
},
1021-
"defaultValue": "function () {\n return \"foo\";\n }"
1021+
"defaultValue": "..."
10221022
},
10231023
{
10241024
"id": 72,
@@ -1051,7 +1051,7 @@
10511051
]
10521052
}
10531053
},
1054-
"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}"
1054+
"defaultValue": "..."
10551055
},
10561056
{
10571057
"id": 31,

src/test/renderer/specs/modules/enumerations.size.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ <h2>Variables</h2>
9999
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-namespace">
100100
<a name="defaultsize" class="tsd-anchor"></a>
101101
<h3><span class="tsd-flag ts-flagLet">Let</span> default<wbr>Size</h3>
102-
<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>
102+
<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>
103103
<aside class="tsd-sources">
104104
</aside>
105105
<div class="tsd-comment tsd-typography">

src/test/renderer/specs/modules/functions.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ <h5>valueA: <span class="tsd-signature-type">string</span><span class="tsd-signa
244244
<h5>valueB: <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 100</span></h5>
245245
</li>
246246
<li>
247-
<h5>valueC: <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = Number.NaN</span></h5>
247+
<h5>valueC: <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = ...</span></h5>
248248
</li>
249249
<li>
250250
<h5>valueD: <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> = true</span></h5>

src/test/renderer/specs/modules/modules.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ <h3><span class="tsd-flag ts-flagLet">Let</span> exported<wbr>Global<wbr>Variabl
129129
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-module">
130130
<a name="objectliteral" class="tsd-anchor"></a>
131131
<h3><span class="tsd-flag ts-flagLet">Let</span> object<wbr>Literal</h3>
132-
<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>
132+
<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>
133133
<aside class="tsd-sources">
134134
</aside>
135135
<div class="tsd-comment tsd-typography">

src/test/renderer/specs/modules/modules.mymodule.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ <h3><span class="tsd-flag ts-flagLet">Let</span> exported<wbr>Module<wbr>Variabl
107107
<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-namespace">
108108
<a name="object" class="tsd-anchor"></a>
109109
<h3><span class="tsd-flag ts-flagLet">Let</span> object</h3>
110-
<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>
110+
<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>
111111
<aside class="tsd-sources">
112112
</aside>
113113
<div class="tsd-comment tsd-typography">

0 commit comments

Comments
 (0)