Skip to content

Commit 22f92f2

Browse files
jamiebuildsGeoffreyBooth
authored andcommitted
Add example of comment include type annotation (#4705)
* Add example of comment include type annotation * build website
1 parent cd516b9 commit 22f92f2

File tree

2 files changed

+40
-12
lines changed

2 files changed

+40
-12
lines changed

docs/v2/index.html

Lines changed: 32 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2482,7 +2482,7 @@ <h2>Everything is an Expression (at least, as much as possible)</h2>
24822482

24832483
<span class="cm-variable">alert</span>((<span class="cm-keyword">function</span>() {
24842484
<span class="cm-keyword">try</span> {
2485-
<span class="cm-keyword">return</span> <span class="cm-variable">nonexistent</span> <span class="cm-operator">/</span> <span class="cm-variable">void</span> <span class="cm-number">0</span>;
2485+
<span class="cm-keyword">return</span> <span class="cm-variable">nonexistent</span> <span class="cm-operator">/</span> <span class="cm-keyword">void</span> <span class="cm-number">0</span>;
24862486
} <span class="cm-keyword">catch</span> (<span class="cm-def">error1</span>) {
24872487
<span class="cm-variable">error</span> <span class="cm-operator">=</span> <span class="cm-variable-2">error1</span>;
24882488
<span class="cm-keyword">return</span> <span class="cm-string-2">`And the error is ... ${</span><span class="cm-variable">error</span><span class="cm-string-2">}`</span>;
@@ -2846,7 +2846,7 @@ <h2>The Existential Operator</h2>
28462846
</textarea>
28472847
<pre class="placeholder-code"><span class="cm-keyword">var</span> <span class="cm-def">ref</span>, <span class="cm-def">zip</span>;
28482848

2849-
<span class="cm-variable">zip</span> <span class="cm-operator">=</span> <span class="cm-keyword">typeof</span> <span class="cm-variable">lottery</span>.<span class="cm-property">drawWinner</span> <span class="cm-operator">===</span> <span class="cm-string">"function"</span> <span class="cm-operator">?</span> (<span class="cm-variable">ref</span> <span class="cm-operator">=</span> <span class="cm-variable">lottery</span>.<span class="cm-property">drawWinner</span>().<span class="cm-property">address</span>) <span class="cm-operator">!=</span> <span class="cm-atom">null</span> <span class="cm-operator">?</span> <span class="cm-variable">ref</span>.<span class="cm-property">zipcode</span> : <span class="cm-variable">void</span> <span class="cm-number">0</span> : <span class="cm-variable">void</span> <span class="cm-number">0</span>;
2849+
<span class="cm-variable">zip</span> <span class="cm-operator">=</span> <span class="cm-keyword">typeof</span> <span class="cm-variable">lottery</span>.<span class="cm-property">drawWinner</span> <span class="cm-operator">===</span> <span class="cm-string">"function"</span> <span class="cm-operator">?</span> (<span class="cm-variable">ref</span> <span class="cm-operator">=</span> <span class="cm-variable">lottery</span>.<span class="cm-property">drawWinner</span>().<span class="cm-property">address</span>) <span class="cm-operator">!=</span> <span class="cm-atom">null</span> <span class="cm-operator">?</span> <span class="cm-variable">ref</span>.<span class="cm-property">zipcode</span> : <span class="cm-keyword">void</span> <span class="cm-number">0</span> : <span class="cm-keyword">void</span> <span class="cm-number">0</span>;
28502850
</pre>
28512851
</div>
28522852
</div>
@@ -4605,28 +4605,50 @@ <h2>Type Annotations</h2>
46054605
<div class="col-md-6 coffeescript-input-column">
46064606
<textarea class="coffeescript-input" id="type_annotations-coffee"># @flow
46074607

4608-
fn = (str ###: string ###, num ###: number ###) ###: string ### ->
4609-
str + num
4608+
###::
4609+
type Obj = {
4610+
num: number,
4611+
};
4612+
###
4613+
4614+
fn = (str ###: string ###, obj ###: Obj ###) ###: string ### ->
4615+
str + obj.num
46104616
</textarea>
46114617
<pre class="placeholder-code"><span class="cm-comment"># @flow</span>
46124618

4613-
<span class="cm-variable">fn</span> <span class="cm-punctuation">=</span> <span class="cm-punctuation">(</span><span class="cm-variable">str</span> <span class="cm-comment">###: string ###</span><span class="cm-punctuation">,</span> <span class="cm-variable">num</span> <span class="cm-comment">###: number ###</span><span class="cm-punctuation">)</span> <span class="cm-comment">###: string ###</span> <span class="cm-operator">-></span>
4614-
<span class="cm-variable">str</span> <span class="cm-operator">+</span> <span class="cm-variable">num</span>
4619+
<span class="cm-comment">###::</span>
4620+
<span class="cm-comment">type Obj = {</span>
4621+
<span class="cm-comment"> num: number,</span>
4622+
<span class="cm-comment">};</span>
4623+
<span class="cm-comment">###</span>
4624+
4625+
<span class="cm-variable">fn</span> <span class="cm-punctuation">=</span> <span class="cm-punctuation">(</span><span class="cm-variable">str</span> <span class="cm-comment">###: string ###</span><span class="cm-punctuation">,</span> <span class="cm-variable">obj</span> <span class="cm-comment">###: Obj ###</span><span class="cm-punctuation">)</span> <span class="cm-comment">###: string ###</span> <span class="cm-operator">-></span>
4626+
<span class="cm-variable">str</span> <span class="cm-operator">+</span> <span class="cm-variable">obj</span><span class="cm-punctuation">.</span><span class="cm-property">num</span>
46154627
</pre>
46164628
</div>
46174629
<div class="col-md-6 javascript-output-column">
46184630
<textarea class="javascript-output" id="type_annotations-js">// @flow
46194631
var fn;
46204632

4621-
fn = function(str/*: string */, num/*: number */)/*: string */ {
4622-
return str + num;
4633+
/*::
4634+
type Obj = {
4635+
num: number,
4636+
};
4637+
*/
4638+
fn = function(str/*: string */, obj/*: Obj */)/*: string */ {
4639+
return str + obj.num;
46234640
};
46244641
</textarea>
46254642
<pre class="placeholder-code"><span class="cm-comment">// @flow</span>
46264643
<span class="cm-keyword">var</span> <span class="cm-def">fn</span>;
46274644

4628-
<span class="cm-variable">fn</span> <span class="cm-operator">=</span> <span class="cm-keyword">function</span>(<span class="cm-def">str</span><span class="cm-comment">/*: string */</span>, <span class="cm-def">num</span><span class="cm-comment">/*: number */</span>)<span class="cm-comment">/*: string */</span> {
4629-
<span class="cm-keyword">return</span> <span class="cm-variable-2">str</span> <span class="cm-operator">+</span> <span class="cm-variable-2">num</span>;
4645+
<span class="cm-comment">/*::</span>
4646+
<span class="cm-comment">type Obj = {</span>
4647+
<span class="cm-comment"> num: number,</span>
4648+
<span class="cm-comment">};</span>
4649+
<span class="cm-comment">*/</span>
4650+
<span class="cm-variable">fn</span> <span class="cm-operator">=</span> <span class="cm-keyword">function</span>(<span class="cm-def">str</span><span class="cm-comment">/*: string */</span>, <span class="cm-def">obj</span><span class="cm-comment">/*: Obj */</span>)<span class="cm-comment">/*: string */</span> {
4651+
<span class="cm-keyword">return</span> <span class="cm-variable-2">str</span> <span class="cm-operator">+</span> <span class="cm-variable-2">obj</span>.<span class="cm-property">num</span>;
46304652
};
46314653
</pre>
46324654
</div>
Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
# @flow
22

3-
fn = (str ###: string ###, num ###: number ###) ###: string ### ->
4-
str + num
3+
###::
4+
type Obj = {
5+
num: number,
6+
};
7+
###
8+
9+
fn = (str ###: string ###, obj ###: Obj ###) ###: string ### ->
10+
str + obj.num

0 commit comments

Comments
 (0)