File indexing completed on 2025-02-02 03:54:48
0001 <!DOCTYPE html> 0002 <html><head> 0003 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 0004 <title>test.ts</title> 0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (TypeScript) - Theme (Breeze Dark)"/> 0006 </head><body style="background-color:#232629;color:#cfcfc2"><pre> 0007 <span style="color:#7a7c7d">/// </span><span style="font-weight:bold"><reference</span><span style="color:#27ae60"> types=</span><span style="color:#2980b9">"node"</span><span style="color:#27ae60"> </span><span style="font-weight:bold">/></span> 0008 0009 <span style="color:#7a7c7d">// TypeScript Test</span> 0010 0011 <span style="font-weight:bold;font-style:italic">class</span> Student { 0012 fullName<span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span><span style="color:#3f8058">;</span> 0013 <span style="font-weight:bold;font-style:italic">constructor</span>(<span style="font-weight:bold;font-style:italic">public</span> firstName<span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span><span style="color:#3f8058">,</span> <span style="font-weight:bold;font-style:italic">public</span> middleInitial<span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span><span style="color:#3f8058">,</span> <span style="font-weight:bold;font-style:italic">public</span> lastName<span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span>) { 0014 <span style="font-weight:bold">this</span><span style="color:#3f8058">.</span><span style="color:#2980b9">fullName</span> <span style="color:#3f8058">=</span> firstName <span style="color:#3f8058">+</span> <span style="color:#f44f4f">" "</span> <span style="color:#3f8058">+</span> middleInitial <span style="color:#3f8058">+</span> <span style="color:#f44f4f">" "</span> <span style="color:#3f8058">+</span> lastName<span style="color:#3f8058">;</span> 0015 } 0016 } 0017 0018 <span style="font-weight:bold;font-style:italic">interface</span> Person { 0019 firstName<span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span><span style="color:#3f8058">;</span> 0020 lastName<span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span><span style="color:#3f8058">;</span> 0021 } 0022 0023 <span style="font-weight:bold">function</span> <span style="color:#8e44ad">greeter</span>(person <span style="color:#3f8058">:</span> Person) { 0024 <span style="color:#fdbc4b;font-weight:bold">return</span> <span style="color:#f44f4f">"Hello, "</span> <span style="color:#3f8058">+</span> person<span style="color:#3f8058">.</span><span style="color:#2980b9">firstName</span> <span style="color:#3f8058">+</span> <span style="color:#f44f4f">" "</span> <span style="color:#3f8058">+</span> person<span style="color:#3f8058">.</span><span style="color:#2980b9">lastName</span><span style="color:#3f8058">;</span> 0025 } 0026 0027 <span style="font-weight:bold;font-style:italic">let</span> user <span style="color:#3f8058">=</span> <span style="font-weight:bold">new</span> <span style="color:#8e44ad">Student</span>(<span style="color:#f44f4f">"Jane"</span><span style="color:#3f8058">,</span> <span style="color:#f44f4f">"M."</span><span style="color:#3f8058">,</span> <span style="color:#f44f4f">"User"</span>)<span style="color:#3f8058">;</span> 0028 0029 <span style="color:#7a7c7d">// Built-in</span> 0030 <span style="color:#7f8c8d">document</span><span style="color:#3f8058">.</span><span style="color:#2980b9;font-style:italic">body</span><span style="color:#3f8058">.</span><span style="color:#2980b9;font-style:italic">innerHTML</span> <span style="color:#3f8058">=</span> <span style="color:#8e44ad">greeter</span>(user)<span style="color:#3f8058">;</span> to 0031 <span style="color:#7f8c8d">JSON</span><span style="color:#3f8058">.</span><span style="color:#8e44ad;font-style:italic">stringify</span>() 0032 <span style="color:#7f8c8d">console</span><span style="color:#3f8058">.</span><span style="color:#8e44ad;font-style:italic">log</span>(<span style="color:#f44f4f">"Hello world"</span>)<span style="color:#3f8058">;</span> 0033 <span style="font-weight:bold">const</span> os <span style="color:#3f8058">=</span> <span style="color:#27ae60">require</span>(<span style="color:#f44f4f">'os'</span>)<span style="color:#3f8058">;</span> 0034 <span style="color:#7f8c8d">Math</span><span style="color:#3f8058">.</span><span style="color:#27aeae;font-weight:bold">LOG10E</span><span style="color:#3f8058">;</span> 0035 <span style="color:#7f8c8d">Number</span><span style="color:#3f8058">.</span><span style="color:#27aeae;font-weight:bold">MAX_SAFE_INTEGER</span><span style="color:#3f8058">;</span> 0036 <span style="color:#7f8c8d">String</span><span style="color:#3f8058">.</span><span style="color:#8e44ad">raw</span><span style="color:#da4453">`raw text \.\n${}`</span> 0037 0038 <span style="color:#27ae60">import</span> http <span style="color:#3f8058">=</span><span style="font-weight:bold"> require</span>(<span style="color:#f44f4f">"http"</span>)<span style="color:#3f8058">;</span> 0039 <span style="color:#27ae60">import</span> path <span style="color:#3f8058">=</span><span style="font-weight:bold"> require</span>(<span style="color:#f44f4f">"path"</span>)<span style="color:#3f8058">;</span> 0040 <span style="color:#27ae60">import</span> URL <span style="color:#3f8058">=</span> url<span style="color:#3f8058">.</span><span style="color:#2980b9">URL</span><span style="color:#3f8058">;</span> 0041 <span style="color:#27ae60">import</span> { Readable<span style="color:#3f8058">,</span> Writable } <span style="color:#27ae60">from</span> <span style="color:#f44f4f">"stream"</span><span style="color:#3f8058">;</span> 0042 <span style="color:#27ae60">import</span> { isBuffer<span style="color:#3f8058">,</span> isString<span style="color:#3f8058">,</span> isObject } <span style="color:#27ae60">from</span> <span style="color:#f44f4f">"util"</span><span style="color:#3f8058">;</span> 0043 0044 <span style="font-weight:bold">const</span> port <span style="color:#3f8058">=</span> <span style="color:#f67400">8_88_8</span><span style="color:#3f8058">;</span> 0045 <span style="font-weight:bold">const</span> baseUrl <span style="color:#3f8058">=</span> <span style="font-weight:bold">new</span> <span style="color:#8e44ad">URL</span>(<span style="color:#da4453">`http://localhost:</span><span style="color:#3daee9">${</span>port<span style="color:#3daee9">}</span><span style="color:#da4453">/`</span>)<span style="color:#3f8058">;</span> 0046 <span style="font-weight:bold">const</span> rootDir <span style="color:#3f8058">=</span> path<span style="color:#3f8058">.</span><span style="color:#8e44ad">dirname</span>(<span style="color:#7f8c8d">__dirname</span>)<span style="color:#3f8058">;</span> 0047 0048 <span style="font-weight:bold">const</span> defaultBrowser <span style="color:#3f8058">=</span> os<span style="color:#3f8058">.</span><span style="color:#8e44ad">platform</span>() <span style="color:#3f8058">===</span> <span style="color:#f44f4f">"win32"</span> <span style="color:#3f8058">?</span> <span style="color:#f44f4f">"edge"</span> <span style="color:#3f8058">:</span> <span style="color:#f44f4f">"chrome"</span><span style="color:#3f8058">;</span> 0049 <span style="font-weight:bold;font-style:italic">let</span> browser<span style="color:#3f8058">:</span> <span style="color:#f44f4f">"edge"</span> <span style="color:#3f8058">|</span> <span style="color:#f44f4f">"chrome"</span> <span style="color:#3f8058">|</span> <span style="color:#f44f4f">"none"</span> <span style="color:#3f8058">=</span> defaultBrowser<span style="color:#3f8058">;</span> 0050 <span style="font-weight:bold;font-style:italic">let</span> grep<span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span> <span style="color:#3f8058">|</span> <span style="color:#2980b9">undefined</span><span style="color:#3f8058">;</span> 0051 0052 <span style="font-weight:bold;font-style:italic">interface</span> FileBasedTestConfiguration { 0053 [setting<span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span>]<span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span><span style="color:#3f8058">;</span> 0054 } 0055 0056 <span style="font-weight:bold">function</span> <span style="color:#8e44ad">swapCase</span>(s<span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span>)<span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span> { 0057 <span style="color:#fdbc4b;font-weight:bold">return</span> s<span style="color:#3f8058">.</span><span style="color:#8e44ad">replace</span>(<span style="color:#da4453">/</span><span style="color:#3daee9">\w</span><span style="color:#da4453">/g</span><span style="color:#3f8058">,</span> (ch) <span style="font-weight:bold">=></span> { 0058 <span style="font-weight:bold">const</span> up <span style="color:#3f8058">=</span> ch<span style="color:#3f8058">.</span><span style="color:#8e44ad">toUpperCase</span>()<span style="color:#3f8058">;</span> 0059 <span style="color:#fdbc4b;font-weight:bold">return</span> ch <span style="color:#3f8058">===</span> up <span style="color:#3f8058">?</span> ch<span style="color:#3f8058">.</span><span style="color:#8e44ad">toLowerCase</span>() <span style="color:#3f8058">:</span> up<span style="color:#3f8058">;</span> 0060 })<span style="color:#3f8058">;</span> 0061 } 0062 0063 <span style="color:#fdbc4b;font-weight:bold">for</span> (<span style="font-weight:bold">var</span> i <span style="font-weight:bold">in</span> pieces) { 0064 <span style="color:#fdbc4b;font-weight:bold">switch</span> (<span style="font-weight:bold">true</span>) { 0065 <span style="color:#fdbc4b;font-weight:bold">case</span> <span style="color:#da4453">/</span><span style="color:#3daee9">^\"?</span><span style="color:#da4453">Accession</span><span style="color:#3daee9">\"?</span><span style="color:#da4453">/</span><span style="color:#3f8058">.</span><span style="color:#8e44ad">test</span>(pieces[i])<span style="color:#3f8058">:</span> 0066 numeration[<span style="color:#f67400">0</span>] <span style="color:#3f8058">=</span> i<span style="color:#3f8058">;</span> 0067 <span style="color:#fdbc4b;font-weight:bold">break</span><span style="color:#3f8058">;</span> 0068 } 0069 } 0070 0071 <span style="font-weight:bold">const</span> <span style="font-weight:bold;font-style:italic">enum</span> ResponseCode { 0072 Success <span style="color:#3f8058">=</span> <span style="color:#f67400">200</span><span style="color:#3f8058">,</span> 0073 BadRequest <span style="color:#3f8058">=</span> <span style="color:#f67400">400</span> 0074 } 0075 0076 <span style="color:#7a7c7d">// Substitutions</span> 0077 <span style="color:#27ae60">export</span> <span style="font-weight:bold">function</span> <span style="color:#8e44ad">isInOpenInterval</span>(start<span style="color:#3f8058">:</span> <span style="color:#2980b9">number</span><span style="color:#3f8058">,</span> end<span style="color:#3f8058">:</span> <span style="color:#2980b9">number</span>) { 0078 <span style="color:#fdbc4b;font-weight:bold">return</span> <span style="color:#8e44ad">tersible</span>(a <span style="font-weight:bold">=></span> a <span style="color:#3f8058">></span> start <span style="color:#3f8058">&&</span> a <span style="color:#3f8058"><</span> end<span style="color:#3f8058">,</span> () <span style="font-weight:bold">=></span> <span style="color:#da4453">`(</span><span style="color:#3daee9">${</span>start<span style="color:#3daee9">}</span><span style="color:#da4453">...</span><span style="color:#3daee9">${</span>end<span style="color:#3daee9">}</span><span style="color:#da4453">)`</span>) 0079 } 0080 <span style="font-weight:bold">const</span> bar <span style="color:#3f8058">=</span> <span style="color:#da4453">`</span><span style="color:#3daee9">${</span>x<span style="color:#3daee9">}</span><span style="color:#da4453"> </span><span style="color:#3daee9">${</span>y<span style="color:#3daee9">}</span><span style="color:#da4453">`</span><span style="color:#3f8058">;</span> 0081 0082 <span style="color:#7a7c7d">// readonly</span> 0083 <span style="font-weight:bold">function</span> <span style="color:#8e44ad">f1</span>(mt<span style="color:#3f8058">:</span> [<span style="color:#2980b9">number</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">number</span>]<span style="color:#3f8058">,</span> rt<span style="color:#3f8058">:</span> <span style="font-weight:bold;font-style:italic">readonly</span> [<span style="color:#2980b9">number</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">number</span>]) { 0084 } 0085 0086 <span style="font-weight:bold">function</span> <span style="color:#8e44ad">f2</span>(ma<span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span>[]<span style="color:#3f8058">,</span> ra<span style="color:#3f8058">:</span> <span style="font-weight:bold;font-style:italic">readonly</span> <span style="color:#2980b9">string</span>[]<span style="color:#3f8058">,</span> mt<span style="color:#3f8058">:</span> [<span style="color:#2980b9">string</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">string</span>]<span style="color:#3f8058">,</span> rt<span style="color:#3f8058">:</span> <span style="font-weight:bold;font-style:italic">readonly</span> [<span style="color:#2980b9">string</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">string</span>]) { 0087 } 0088 0089 <span style="font-weight:bold;font-style:italic">type</span> ReadWrite<span style="color:#3f8058"><</span>T<span style="color:#3f8058">></span> <span style="color:#3f8058">=</span> { <span style="color:#3f8058">-</span><span style="font-weight:bold;font-style:italic">readonly</span> [P <span style="font-weight:bold">in</span> <span style="font-weight:bold">keyof</span> T] <span style="color:#3f8058">:</span> T[P] }<span style="color:#3f8058">;</span> 0090 0091 <span style="color:#7a7c7d">// const assertion</span> 0092 <span style="font-weight:bold;font-style:italic">let</span> obj <span style="color:#3f8058">=</span> { x<span style="color:#3f8058">:</span> <span style="color:#f67400">10</span><span style="color:#3f8058">,</span> y<span style="color:#3f8058">:</span> [<span style="color:#f67400">20</span><span style="color:#3f8058">,</span> <span style="color:#f67400">30</span>]<span style="color:#3f8058">,</span> z<span style="color:#3f8058">:</span> { a<span style="color:#3f8058">:</span> { b<span style="color:#3f8058">:</span> <span style="color:#f67400">42</span> } } } <span style="color:#27ae60">as</span> <span style="font-weight:bold">const</span><span style="color:#3f8058">;</span> 0093 <span style="font-weight:bold;font-style:italic">let</span> r2 <span style="color:#3f8058">=</span> { x<span style="color:#3f8058">:</span> <span style="color:#f67400">20</span><span style="color:#3f8058">,</span> y<span style="color:#3f8058">:</span> <span style="color:#f67400">10</span> } <span style="color:#27ae60">as</span> <span style="font-weight:bold">const</span><span style="color:#3f8058">;</span> 0094 <span style="font-weight:bold;font-style:italic">let</span> r2 <span style="color:#3f8058">=</span> {<span style="color:#3f8058">...</span>p} <span style="color:#27ae60">as</span> <span style="font-weight:bold">const</span><span style="color:#3f8058">;</span> 0095 <span style="font-weight:bold;font-style:italic">let</span> p1 <span style="color:#3f8058">=</span> { x<span style="color:#3f8058">:</span> <span style="color:#f67400">10</span><span style="color:#3f8058">,</span> y<span style="color:#3f8058">:</span> <span style="color:#f67400">20</span> <span style="color:#27ae60">as</span> <span style="font-weight:bold">const</span> }<span style="color:#3f8058">;</span> 0096 <span style="font-weight:bold;font-style:italic">let</span> p2 <span style="color:#3f8058">=</span> { <span style="color:#f67400">10</span> <span style="color:#27ae60">as</span> <span style="font-weight:bold">const</span><span style="color:#3f8058">,</span> <span style="color:#f44f4f">'foo'</span> <span style="color:#27ae60">as</span> <span style="font-weight:bold">const</span> }<span style="color:#3f8058">;</span> 0097 0098 <span style="color:#7a7c7d">// Definite assignment operator</span> 0099 <span style="font-weight:bold;font-style:italic">class</span> Cl { 0100 one<span style="color:#3f8058">?</span><span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span><span style="color:#3f8058">;</span> 0101 two<span style="color:#3f8058">!</span><span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span><span style="color:#3f8058">;</span> 0102 } 0103 <span style="font-weight:bold;font-style:italic">let</span> x<span style="color:#3f8058">!</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">1</span><span style="color:#3f8058">;</span> 0104 0105 <span style="color:#7a7c7d">// Function with multiple arguments</span> 0106 <span style="font-weight:bold">const</span> children <span style="color:#3f8058">=</span> []<span style="color:#3f8058">.</span><span style="color:#8e44ad">map</span><span style="color:#3f8058"><</span><span style="color:#7f8c8d">Set</span><span style="color:#3f8058"><</span><span style="color:#7f8c8d">Map</span><span style="color:#3f8058"><</span><span style="color:#2980b9">number</span><span style="color:#3f8058">,</span> <span style="color:#2980b9">string</span><span style="color:#3f8058">>>></span>(element <span style="font-weight:bold">=></span> { 0107 <span style="color:#fdbc4b;font-weight:bold">if</span> (<span style="color:#3f8058">!</span><span style="font-weight:bold">this</span><span style="color:#3f8058">.</span><span style="color:#2980b9">identityProvider</span>) { 0108 <span style="color:#fdbc4b;font-weight:bold">return</span> element<span style="color:#3f8058">;</span> 0109 } 0110 <span style="color:#fdbc4b;font-weight:bold">return</span> element<span style="color:#3f8058">;</span> 0111 })<span style="color:#3f8058">;</span> 0112 0113 <span style="color:#7a7c7d">// Numerics</span> 0114 <span style="font-weight:bold">var</span> a <span style="color:#3f8058">=</span> <span style="color:#f67400">0xA</span><span style="color:#3f8058">;</span> 0115 <span style="font-weight:bold">var</span> b <span style="color:#3f8058">=</span> <span style="color:#f67400">0b1</span><span style="color:#3f8058">;</span> 0116 <span style="font-weight:bold">var</span> c <span style="color:#3f8058">=</span> <span style="color:#f67400">0o7</span><span style="color:#3f8058">;</span> 0117 <span style="font-weight:bold">var</span> d <span style="color:#3f8058">=</span> <span style="color:#f67400">1.1E+3</span><span style="color:#3f8058">;</span> 0118 <span style="font-weight:bold">var</span> e <span style="color:#3f8058">=</span> <span style="color:#f67400">1.E+3</span><span style="color:#3f8058">;</span> 0119 <span style="font-weight:bold">var</span> f <span style="color:#3f8058">=</span> <span style="color:#f67400">.1E+3</span><span style="color:#3f8058">;</span> 0120 <span style="font-weight:bold">var</span> g <span style="color:#3f8058">=</span> <span style="color:#f67400">1E+3</span><span style="color:#3f8058">;</span> 0121 <span style="font-weight:bold">var</span> h <span style="color:#3f8058">=</span> <span style="color:#f67400">1.1</span><span style="color:#3f8058">;</span> 0122 <span style="font-weight:bold">var</span> i <span style="color:#3f8058">=</span> <span style="color:#f67400">1.</span><span style="color:#3f8058">;</span> 0123 <span style="font-weight:bold">var</span> j <span style="color:#3f8058">=</span> <span style="color:#f67400">.1</span><span style="color:#3f8058">;</span> 0124 <span style="font-weight:bold">var</span> k <span style="color:#3f8058">=</span> <span style="color:#f67400">1</span><span style="color:#3f8058">;</span> 0125 <span style="font-weight:bold">var</span> l <span style="color:#3f8058">=</span> <span style="color:#f67400">1_2.e+3_22</span> <span style="color:#3f8058">|</span> <span style="color:#f67400">.2e2</span> <span style="color:#3f8058">|</span> <span style="color:#f67400">0o1_23</span> <span style="color:#3f8058">|</span> <span style="color:#f67400">11.2</span> <span style="color:#3f8058">|</span> <span style="color:#f67400">08</span><span style="color:#3f8058">;</span> 0126 0127 <span style="color:#7a7c7d">// Bigint</span> 0128 <span style="font-weight:bold">const</span> binBig <span style="color:#3f8058">=</span> <span style="color:#f67400">0b101</span>n<span style="color:#3f8058">;</span> 0129 <span style="font-weight:bold">const</span> octBig <span style="color:#3f8058">=</span> <span style="color:#f67400">0o567</span>n<span style="color:#3f8058">;</span> 0130 <span style="font-weight:bold">const</span> hexBig <span style="color:#3f8058">=</span> <span style="color:#f67400">0xC0B</span>n<span style="color:#3f8058">;</span> 0131 <span style="font-weight:bold">const</span> decBig <span style="color:#3f8058">=</span> <span style="color:#f67400">123</span>n<span style="color:#3f8058">;</span> 0132 0133 <span style="color:#7a7c7d">// Invalid numbers</span> 0134 <span style="font-weight:bold">var</span> l <span style="color:#3f8058">=</span> <span style="color:#f67400">0xA1</span><span style="color:#da4453;text-decoration:underline">t</span><span style="color:#3f8058">;</span> 0135 <span style="font-weight:bold">var</span> m <span style="color:#3f8058">=</span> <span style="color:#f67400">0b01</span><span style="color:#da4453;text-decoration:underline">23</span><span style="color:#3f8058">;</span> 0136 <span style="font-weight:bold">var</span> n <span style="color:#3f8058">=</span> <span style="color:#f67400">0o2</span><span style="color:#da4453;text-decoration:underline">9</span><span style="color:#3f8058">;</span> 0137 <span style="font-weight:bold">var</span> n <span style="color:#3f8058">=</span> <span style="color:#f67400">0</span><span style="color:#da4453;text-decoration:underline">_7</span><span style="color:#3f8058">;</span> 0138 <span style="font-weight:bold">var</span> n <span style="color:#3f8058">=</span> <span style="color:#f67400">1</span><span style="color:#da4453;text-decoration:underline">___1</span><span style="color:#3f8058">;</span> 0139 <span style="font-weight:bold">var</span> n <span style="color:#3f8058">=</span> <span style="color:#f67400">1</span><span style="color:#da4453;text-decoration:underline">__</span><span style="color:#3f8058">;</span> 0140 <span style="font-weight:bold">var</span> n <span style="color:#3f8058">=</span> <span style="color:#f67400">11</span><span style="color:#da4453;text-decoration:underline">__</span><span style="color:#3f8058">.</span><span style="color:#3f8058">;</span> 0141 <span style="font-weight:bold">var</span> n <span style="color:#3f8058">=</span> <span style="color:#f67400">1</span><span style="color:#da4453;text-decoration:underline">__</span><span style="color:#3f8058">.</span><span style="color:#2980b9">e</span><span style="color:#3f8058">+</span><span style="color:#f67400">3_22</span><span style="color:#3f8058">;</span> 0142 <span style="font-weight:bold">var</span> n <span style="color:#3f8058">=</span> <span style="color:#f67400">.2</span>_e2<span style="color:#3f8058">;</span> 0143 0144 <span style="color:#7a7c7d">// Types</span> 0145 <span style="font-weight:bold;font-style:italic">let</span> a<span style="color:#3f8058">:</span> <span style="color:#2980b9">null</span> <span style="color:#3f8058">=</span> <span style="font-weight:bold">null</span><span style="color:#3f8058">;</span> 0146 <span style="font-weight:bold;font-style:italic">let</span> b<span style="color:#3f8058">:</span> <span style="color:#2980b9">number</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">123</span><span style="color:#3f8058">;</span> 0147 <span style="font-weight:bold;font-style:italic">let</span> c<span style="color:#3f8058">:</span> <span style="color:#2980b9">number</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">123.456</span><span style="color:#3f8058">;</span> 0148 <span style="font-weight:bold;font-style:italic">let</span> d<span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span> <span style="color:#3f8058">=</span> <span style="color:#da4453">`Geeks`</span><span style="color:#3f8058">;</span> 0149 <span style="font-weight:bold;font-style:italic">let</span> e<span style="color:#3f8058">:</span> <span style="color:#2980b9">undefined</span> <span style="color:#3f8058">=</span> <span style="font-weight:bold">undefined</span><span style="color:#3f8058">;</span> 0150 <span style="font-weight:bold;font-style:italic">let</span> f<span style="color:#3f8058">:</span> <span style="color:#2980b9">boolean</span> <span style="color:#3f8058">=</span> <span style="font-weight:bold">true</span><span style="color:#3f8058">;</span> 0151 <span style="font-weight:bold;font-style:italic">let</span> g<span style="color:#3f8058">:</span> <span style="color:#2980b9">number</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">0b111001</span><span style="color:#3f8058">;</span> <span style="color:#7a7c7d">// Binary</span> 0152 <span style="font-weight:bold;font-style:italic">let</span> h<span style="color:#3f8058">:</span> <span style="color:#2980b9">number</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">0o436</span><span style="color:#3f8058">;</span> <span style="color:#7a7c7d">// Octal</span> 0153 <span style="font-weight:bold;font-style:italic">let</span> i<span style="color:#3f8058">:</span> <span style="color:#2980b9">number</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">0xadf0d</span><span style="color:#3f8058">;</span> <span style="color:#7a7c7d">// Hexa-Decimal</span> 0154 <span style="font-weight:bold;font-style:italic">let</span> j<span style="color:#3f8058">:</span> <span style="color:#2980b9">bigint</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">123</span>n<span style="color:#3f8058">;</span> 0155 0156 <span style="font-weight:bold">const</span> query <span style="color:#3f8058">=</span> <span style="color:#8e44ad">query</span><span style="color:#3f8058"><</span>[<span style="color:#2980b9">number</span>]<span style="color:#3f8058">,</span> <span style="color:#2980b9">number</span><span style="color:#3f8058">></span>(<span style="color:#da4453">`</span> 0157 <span style="color:#da4453"> SELECT *</span> 0158 <span style="color:#da4453"> FROM statistics</span> 0159 <span style="color:#da4453"> WHERE unit_id = $1`</span>) 0160 0161 <span style="font-weight:bold">function</span> <span style="color:#8e44ad">runQuery</span>() { 0162 <span style="font-weight:bold">const</span> query <span style="color:#3f8058">=</span> <span style="color:#8e44ad">createQuery</span><span style="color:#3f8058"><</span>[<span style="color:#2980b9">number</span>[]]<span style="color:#3f8058">,</span> Table<span style="color:#3f8058"><</span>Columns<span style="color:#3f8058">>></span>(<span style="color:#da4453">`</span> 0163 <span style="color:#da4453"> some SQL here</span> 0164 <span style="color:#da4453"> `</span>) 0165 <span style="color:#fdbc4b;font-weight:bold">return</span> database<span style="color:#3f8058">.</span><span style="color:#8e44ad">execute</span>(query) 0166 } 0167 0168 aa<span style="color:#3f8058">:</span> <span style="color:#3f8058"><</span>sdf<span style="color:#3f8058">/</span><span style="color:#3f8058">></span> <span style="color:#2980b9">string</span> <span style="color:#3f8058">?<</span>ssd<span style="color:#3f8058">/</span><span style="color:#3f8058">></span> <span style="color:#2980b9">string</span> 0169 string <span style="color:#7a7c7d">// Don't highlight</span> 0170 aa<span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span> assa <span style="color:#3f8058">|</span> 0171 <span style="color:#2980b9">string</span> 0172 string <span style="color:#3f8058">;</span> 0173 string 0174 0175 aa<span style="color:#3f8058">:</span> { <span style="color:#2980b9">string</span> 0176 string } <span style="color:#7a7c7d">// Don't highlight</span> 0177 0178 aa<span style="color:#3f8058">:</span> [ <span style="color:#2980b9">string</span> 0179 <span style="color:#2980b9">string</span> ] 0180 aa<span style="color:#3f8058">:</span> ( <span style="color:#2980b9">string</span> 0181 string ) <span style="color:#7a7c7d">// Don't highlight</span> 0182 aa<span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span> <span style="color:#3f8058"><</span><span style="color:#2980b9">string</span><span style="color:#3f8058">></span> 0183 <span style="font-weight:bold;font-style:italic">interface</span> a { 0184 aa<span style="color:#3f8058">:</span> <span style="color:#7a7c7d">/* comment</span> 0185 <span style="color:#7a7c7d"> */</span> <span style="color:#2980b9">string</span><span style="color:#3f8058">,</span> 0186 bb<span style="color:#3f8058">:</span> <span style="color:#7a7c7d">/* comment */</span> 0187 <span style="color:#2980b9">number</span><span style="color:#3f8058">,</span> 0188 cc<span style="color:#3f8058">:</span> <span style="color:#7a7c7d">// comment</span> 0189 <span style="color:#2980b9">void</span><span style="color:#3f8058">,</span> 0190 dd<span style="color:#3f8058">:</span> 0191 <span style="color:#2980b9">any</span><span style="color:#3f8058">,</span> 0192 } 0193 0194 <span style="font-weight:bold">null</span><span style="color:#3f8058">,</span> <span style="color:#3f8058"><</span>{[key]<span style="color:#3f8058">:</span> () <span style="font-weight:bold">=></span> <span style="color:#2980b9">any</span>}<span style="color:#3f8058">></span> <span style="font-weight:bold">null</span> 0195 <span style="font-weight:bold">null</span><span style="color:#3f8058">,</span> <span style="color:#3f8058"><</span>{[key]<span style="color:#3f8058">:</span> () <span style="font-weight:bold">=></span>{a<span style="color:#3f8058">:</span> <span style="color:#2980b9">number</span>}}<span style="color:#3f8058">></span> <span style="font-weight:bold">null</span> 0196 0197 <span style="color:#7a7c7d">// Correctly highlighting regular expressions</span> 0198 dt <span style="color:#3f8058">=</span> ((dt[<span style="color:#f67400">0</span>] <span style="color:#3f8058">*</span> <span style="color:#f67400">1e9</span> <span style="color:#3f8058">+</span> dt[<span style="color:#f67400">1</span>]) <span style="color:#3f8058">/</span> <span style="color:#f67400">1e6</span>)<span style="color:#3f8058">.</span><span style="color:#8e44ad">toFixed</span>(<span style="color:#f67400">3</span>)<span style="color:#3f8058">.</span><span style="color:#8e44ad">replace</span>(<span style="color:#da4453">/</span><span style="color:#3daee9">\.?</span><span style="color:#da4453">0</span><span style="color:#3daee9">+$</span><span style="color:#da4453">/</span><span style="color:#3f8058">,</span> <span style="color:#f44f4f">''</span>) <span style="color:#3f8058">+</span> <span style="color:#f44f4f">'ms'</span><span style="color:#3f8058">;</span> 0199 (a[<span style="color:#f67400">0</span>] <span style="color:#3f8058">/</span> <span style="color:#f67400">2</span>) <span style="color:#3f8058">/</span> (<span style="color:#f67400">2</span>) 0200 0201 <span style="color:#7a7c7d">// Type guards</span> 0202 <span style="font-weight:bold">function</span> <span style="color:#8e44ad">isNumber</span>(x<span style="color:#3f8058">:</span> <span style="color:#2980b9">any</span>)<span style="color:#3f8058">:</span> x <span style="font-weight:bold">is</span> <span style="color:#2980b9">number</span> { 0203 <span style="color:#fdbc4b;font-weight:bold">return</span> <span style="font-weight:bold">typeof</span> x <span style="color:#3f8058">===</span> <span style="color:#f44f4f">"number"</span><span style="color:#3f8058">;</span> 0204 } 0205 0206 <span style="color:#7a7c7d">// Conditional expressions (highlight keywords before ":")</span> 0207 <span style="font-weight:bold;font-style:italic">class</span> C { 0208 w <span style="color:#3f8058">=</span> () <span style="font-weight:bold">=></span> 0209 <span style="font-weight:bold">this</span><span style="color:#3f8058">.</span><span style="color:#8e44ad">a</span>() <span style="color:#3f8058">?</span> <span style="font-weight:bold">true</span> <span style="color:#3f8058">:</span> <span style="font-weight:bold">this</span><span style="color:#3f8058">.</span><span style="color:#8e44ad">b</span>() <span style="color:#3f8058">?</span> <span style="font-weight:bold">false</span> <span style="color:#3f8058">:</span> <span style="font-weight:bold">true</span><span style="color:#3f8058">;</span> 0210 z <span style="color:#3f8058">=</span> () <span style="font-weight:bold">=></span> 0211 <span style="font-weight:bold">this</span><span style="color:#3f8058">.</span><span style="color:#8e44ad">b</span>() <span style="color:#3f8058">?</span> hello <span style="color:#3f8058">:</span> k<span style="color:#3f8058">;</span> 0212 } 0213 0214 <span style="font-weight:bold">function</span> <span style="color:#8e44ad">foo</span><span style="color:#3f8058"><</span>T <span style="font-weight:bold;font-style:italic">extends</span> X<span style="color:#3f8058">></span>(arg<span style="color:#3f8058">:</span> T)<span style="color:#3f8058">:</span> T <span style="font-weight:bold;font-style:italic">extends</span> B <span style="color:#3f8058">?</span> <span style="color:#2980b9">number</span> <span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span> { 0215 <span style="color:#fdbc4b;font-weight:bold">if</span> (arg <span style="color:#3f8058">===</span> <span style="color:#f44f4f">"A"</span>) <span style="color:#fdbc4b;font-weight:bold">return</span> <span style="color:#3f8058"><</span>T <span style="font-weight:bold;font-style:italic">extends</span> B <span style="color:#3f8058">?</span> <span style="color:#2980b9">number</span> <span style="color:#3f8058">:</span> <span style="color:#2980b9">never</span><span style="color:#3f8058">></span><span style="color:#f67400">111</span><span style="color:#3f8058">;</span> 0216 <span style="color:#fdbc4b;font-weight:bold">return</span> <span style="color:#3f8058"><</span>T <span style="font-weight:bold;font-style:italic">extends</span> B <span style="color:#3f8058">?</span> <span style="color:#2980b9">never</span> <span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span><span style="color:#3f8058">></span><span style="color:#f44f4f">"returning a string"</span><span style="color:#3f8058">;</span> 0217 } 0218 0219 <span style="font-weight:bold;font-style:italic">let</span> x <span style="color:#3f8058">=</span> (foo <span style="color:#3f8058">===</span> <span style="font-weight:bold">null</span> <span style="color:#3f8058">||</span> foo <span style="color:#3f8058">===</span> <span style="font-weight:bold">undefined</span>) <span style="color:#3f8058">?</span> 0220 <span style="font-weight:bold">undefined</span> <span style="color:#3f8058">:</span> 0221 foo<span style="color:#3f8058">.</span><span style="color:#2980b9">bar</span><span style="color:#3f8058">.</span><span style="color:#8e44ad">baz</span>()<span style="color:#3f8058">;</span> 0222 <span style="font-weight:bold;font-style:italic">let</span> y <span style="color:#3f8058">=</span> (foo <span style="color:#3f8058">===</span> <span style="font-weight:bold">null</span> <span style="color:#3f8058">||</span> foo <span style="color:#3f8058">===</span> <span style="font-weight:bold">undefined</span>) <span style="color:#3f8058">?</span> <span style="color:#7a7c7d">/* comment */</span> <span style="font-weight:bold">undefined</span> <span style="color:#3f8058">:</span> 0223 foo<span style="color:#3f8058">.</span><span style="color:#2980b9">bar</span><span style="color:#3f8058">.</span><span style="color:#8e44ad">baz</span>()<span style="color:#3f8058">;</span> 0224 0225 <span style="color:#7a7c7d">// Operator ??</span> 0226 <span style="font-weight:bold;font-style:italic">let</span> x <span style="color:#3f8058">=</span> foo <span style="color:#3f8058">??</span> <span style="color:#8e44ad">bar</span>()<span style="color:#3f8058">;</span> 0227 0228 <span style="color:#7a7c7d">// Types and logical `&&` and `||` operators after `as` expression</span> 0229 <span style="color:#7f8c8d">Date</span> <span style="color:#27ae60">as</span> <span style="color:#2980b9">any</span> <span style="color:#3f8058">||</span> <span style="color:#2980b9">null</span><span style="color:#3f8058">;</span> 0230 0231 <span style="color:#7a7c7d">//Assertions</span> 0232 <span style="font-weight:bold">const</span> assert<span style="color:#3f8058">:</span> (value<span style="color:#3f8058">:</span> <span style="color:#2980b9">unknown</span>) <span style="font-weight:bold">=></span> <span style="font-weight:bold">asserts</span> value <span style="color:#3f8058">=</span> value <span style="font-weight:bold">=></span> {} 0233 <span style="font-weight:bold;font-style:italic">declare</span> <span style="font-weight:bold">function</span> <span style="color:#8e44ad">assertIsString</span>(value<span style="color:#3f8058">:</span> <span style="color:#2980b9">unknown</span>)<span style="color:#3f8058">:</span> <span style="font-weight:bold">asserts</span> value <span style="font-weight:bold">is</span> <span style="color:#2980b9">string</span><span style="color:#3f8058">;</span> 0234 <span style="font-weight:bold;font-style:italic">declare</span> <span style="font-weight:bold">function</span> <span style="color:#8e44ad">assertIsArrayOfStrings</span>(value<span style="color:#3f8058">:</span> <span style="color:#2980b9">unknown</span>)<span style="color:#3f8058">:</span> <span style="font-weight:bold">asserts</span> value <span style="font-weight:bold">is</span> <span style="color:#2980b9">string</span>[]<span style="color:#3f8058">;</span> 0235 <span style="font-weight:bold;font-style:italic">declare</span> <span style="font-weight:bold">function</span> <span style="color:#8e44ad">assertDefined</span><span style="color:#3f8058"><</span>T<span style="color:#3f8058">></span>(value<span style="color:#3f8058">:</span> T)<span style="color:#3f8058">:</span> <span style="font-weight:bold">asserts</span> value <span style="font-weight:bold">is</span> <span style="color:#7f8c8d">NonNullable</span><span style="color:#3f8058"><</span>T<span style="color:#3f8058">></span><span style="color:#3f8058">;</span> 0236 <span style="color:#27ae60">namespace</span> <span style="color:#2980b9">Debug</span> { 0237 <span style="color:#27ae60">export</span> <span style="font-weight:bold;font-style:italic">declare</span> <span style="font-weight:bold">function</span> <span style="color:#8e44ad">assert</span>(value<span style="color:#3f8058">:</span> <span style="color:#2980b9">unknown</span><span style="color:#3f8058">,</span> message<span style="color:#3f8058">?</span><span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span>)<span style="color:#3f8058">:</span> <span style="font-weight:bold">asserts</span> value<span style="color:#3f8058">;</span> 0238 <span style="color:#27ae60">export</span> <span style="font-weight:bold;font-style:italic">declare</span> <span style="font-weight:bold">function</span> <span style="color:#8e44ad">assertDefined</span><span style="color:#3f8058"><</span>T<span style="color:#3f8058">></span>(value<span style="color:#3f8058">:</span> T)<span style="color:#3f8058">:</span> <span style="font-weight:bold">asserts</span> value <span style="font-weight:bold">is</span> <span style="color:#7f8c8d">NonNullable</span><span style="color:#3f8058"><</span>T<span style="color:#3f8058">></span><span style="color:#3f8058">;</span> 0239 } 0240 0241 <span style="color:#7a7c7d">// Only highlight valid regular expressions, of a single line, after strings</span> 0242 <span style="color:#7a7c7d">// See: https://github.com/microsoft/TypeScript-TmLanguage/issues/786</span> 0243 <span style="color:#f44f4f">"text"</span> <span style="color:#3f8058">/</span>No<span style="color:#3f8058">-</span>Regex 0244 <span style="color:#f44f4f">"text"</span> <span style="color:#da4453">/Regex</span><span style="color:#3daee9">[:)]</span><span style="color:#3daee9">*</span><span style="color:#da4453">/</span><span style="color:#3f8058">;</span> 0245 <span style="font-weight:bold">const</span> a <span style="color:#3f8058">=</span> <span style="color:#f44f4f">"6"</span> <span style="color:#3f8058">/</span> <span style="color:#f67400">2</span><span style="color:#3f8058">;</span> <span style="color:#7a7c7d">/*comment*/</span> <span style="font-weight:bold">const</span> b <span style="color:#3f8058">=</span> <span style="color:#f67400">5</span><span style="color:#3f8058">;</span> 0246 <span style="color:#7f8c8d">console</span><span style="color:#3f8058">.</span><span style="color:#8e44ad;font-style:italic">log</span>(<span style="color:#f44f4f">"4"</span> <span style="color:#3f8058">/</span> <span style="color:#f44f4f">"2"</span>)<span style="color:#3f8058">;</span> <span style="color:#7a7c7d">// 2</span> 0247 <span style="color:#7a7c7d">// Single quote</span> 0248 <span style="font-weight:bold">const</span> a <span style="color:#3f8058">=</span> <span style="color:#f44f4f">'6'</span> <span style="color:#3f8058">/</span> <span style="color:#f67400">2</span><span style="color:#3f8058">;</span> <span style="color:#7a7c7d">/*comment*/</span> <span style="font-weight:bold">const</span> b <span style="color:#3f8058">=</span> <span style="color:#f67400">5</span><span style="color:#3f8058">;</span> 0249 <span style="color:#7f8c8d">console</span><span style="color:#3f8058">.</span><span style="color:#8e44ad;font-style:italic">log</span>(<span style="color:#f44f4f">'4'</span> <span style="color:#3f8058">/</span> <span style="color:#f44f4f">'2'</span>)<span style="color:#3f8058">;</span> <span style="color:#7a7c7d">// 2</span> 0250 <span style="color:#7a7c7d">// Template</span> 0251 <span style="font-weight:bold">const</span> a <span style="color:#3f8058">=</span> <span style="color:#da4453">`6`</span> <span style="color:#3f8058">/</span> <span style="color:#f67400">2</span><span style="color:#3f8058">;</span> <span style="color:#7a7c7d">/*comment*/</span> <span style="font-weight:bold">const</span> b <span style="color:#3f8058">=</span> <span style="color:#f67400">5</span><span style="color:#3f8058">;</span> 0252 <span style="color:#7f8c8d">console</span><span style="color:#3f8058">.</span><span style="color:#8e44ad;font-style:italic">log</span>(<span style="color:#da4453">`4`</span> <span style="color:#3f8058">/</span> <span style="color:#da4453">`2`</span>)<span style="color:#3f8058">;</span> <span style="color:#7a7c7d">// 2</span> 0253 0254 [<span style="color:#f67400">1</span><span style="color:#3f8058">,</span> <span style="color:#f67400">2</span><span style="color:#3f8058">,</span> <span style="color:#f67400">3</span>]<span style="color:#3f8058">.</span><span style="color:#8e44ad">reduce</span><span style="color:#3f8058"><</span><span style="font-weight:bold;font-style:italic">readonly</span> <span style="color:#2980b9">number</span>[]<span style="color:#3f8058">></span>((previous) <span style="font-weight:bold">=></span> previous<span style="color:#3f8058">,</span> [])<span style="color:#3f8058">;</span> 0255 0256 <span style="color:#7a7c7d">// Multiline arrow assignment</span> 0257 <span style="font-weight:bold">const</span> h <span style="color:#3f8058">=</span> { 0258 setSubProperty<span style="color:#3f8058">:</span> <span style="color:#3f8058"><</span> 0259 T <span style="font-weight:bold;font-style:italic">extends</span> A<span style="color:#3f8058">,</span> 0260 K <span style="font-weight:bold;font-style:italic">extends</span> <span style="font-weight:bold">keyof</span> T<span style="color:#3f8058">,</span> 0261 J <span style="font-weight:bold;font-style:italic">extends</span> <span style="font-weight:bold">keyof</span> T[K] 0262 <span style="color:#3f8058">></span>( 0263 property<span style="color:#3f8058">:</span> K<span style="color:#3f8058">,</span> 0264 key<span style="color:#3f8058">:</span> J<span style="color:#3f8058">,</span> 0265 value<span style="color:#3f8058">:</span> T[K][J] 0266 ) <span style="font-weight:bold">=></span> {} 0267 } 0268 0269 <span style="color:#7a7c7d">// Private-Named Instance Fields</span> 0270 <span style="font-weight:bold;font-style:italic">class</span> Greeter { 0271 #name<span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span><span style="color:#3f8058">;</span> 0272 <span style="font-weight:bold;font-style:italic">constructor</span>(name<span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span>) { 0273 <span style="font-weight:bold">this</span><span style="color:#3f8058">.</span>#<span style="color:#2980b9">name</span> <span style="color:#3f8058">=</span> name<span style="color:#3f8058">;</span> 0274 } 0275 <span style="color:#8e44ad">greet</span>() { 0276 <span style="color:#7f8c8d">console</span><span style="color:#3f8058">.</span><span style="color:#8e44ad;font-style:italic">log</span>(<span style="color:#da4453">`hello </span><span style="color:#3daee9">${</span><span style="font-weight:bold">this</span><span style="color:#3f8058">.</span>#<span style="color:#2980b9">name</span><span style="color:#3daee9">}</span><span style="color:#da4453">`</span>)<span style="color:#3f8058">;</span> 0277 } 0278 } 0279 <span style="font-weight:bold;font-style:italic">class</span> Test { 0280 #NAME1<span style="color:#3f8058">:</span> () <span style="font-weight:bold">=></span> <span style="color:#2980b9">string</span><span style="color:#3f8058">;</span> 0281 prop1 <span style="color:#3f8058">=</span> x<span style="color:#3f8058">.</span>#<span style="color:#2980b9">NAMEabc</span><span style="color:#3f8058">.</span>#<span style="color:#2980b9">NAMEabc</span><span style="color:#3f8058">;</span> 0282 prop2 <span style="color:#3f8058">=</span> x<span style="color:#3f8058">.</span>#<span style="color:#2980b9">NAMEabc</span><span style="color:#3f8058">.</span>#<span style="color:#8e44ad">NAMEabc</span>()<span style="color:#3f8058">;</span> 0283 prop3 <span style="color:#3f8058">=</span> <span style="font-weight:bold">this</span><span style="color:#3f8058">.</span>#<span style="color:#2980b9">NAMEabc</span><span style="color:#3f8058">.</span>#<span style="color:#8e44ad">NAME</span>()<span style="color:#3f8058">;</span> 0284 } 0285 0286 <span style="color:#7a7c7d">// Type-only imports and exports</span> 0287 <span style="color:#27ae60">import</span> <span style="color:#27ae60">type</span> T <span style="color:#27ae60">from</span> <span style="color:#f44f4f">"mod"</span><span style="color:#3f8058">;</span> 0288 <span style="color:#27ae60">import</span> <span style="color:#27ae60">type</span> { U<span style="color:#3f8058">,</span> V } <span style="color:#27ae60">from</span> <span style="color:#f44f4f">"mod"</span><span style="color:#3f8058">;</span> 0289 <span style="color:#27ae60">import</span> <span style="color:#27ae60">type</span> <span style="color:#3f8058">*</span> <span style="color:#27ae60">as</span> types <span style="color:#27ae60">from</span> <span style="color:#f44f4f">"mod"</span><span style="color:#3f8058">;</span> 0290 <span style="color:#27ae60">import</span> <span style="color:#27ae60">type</span> <span style="color:#27ae60">from</span> <span style="color:#f44f4f">"mod"</span><span style="color:#3f8058">;</span> 0291 <span style="color:#27ae60">import</span> <span style="color:#27ae60">type</span> <span style="color:#3f8058">=</span><span style="font-weight:bold"> require</span>(<span style="color:#f44f4f">"mod"</span>)<span style="color:#3f8058">;</span> 0292 <span style="color:#27ae60">import</span> <span style="color:#27ae60">type</span> T <span style="color:#3f8058">=</span><span style="font-weight:bold"> require</span>(<span style="color:#f44f4f">"mod"</span>)<span style="color:#3f8058">;</span> 0293 0294 <span style="color:#27ae60">export</span> { a <span style="color:#27ae60">as</span> b<span style="color:#3f8058">,</span> x }<span style="color:#3f8058">;</span> 0295 <span style="color:#27ae60">export</span> <span style="color:#3f8058">*</span> <span style="color:#27ae60">from</span> <span style="color:#f44f4f">"AnotherModule"</span><span style="color:#3f8058">;</span> 0296 <span style="color:#27ae60">export</span> { k <span style="color:#27ae60">as</span> m<span style="color:#3f8058">,</span> l } <span style="color:#27ae60">from</span> <span style="color:#f44f4f">"AnotherModule"</span><span style="color:#3f8058">;</span> 0297 <span style="color:#27ae60">export type</span> { T }<span style="color:#3f8058">;</span> 0298 <span style="color:#27ae60">export type</span> { U } <span style="color:#27ae60">from</span> <span style="color:#f44f4f">"AnotherModule"</span><span style="color:#3f8058">;</span> 0299 0300 <span style="color:#7a7c7d">// 'awaited' type operator: https://github.com/microsoft/TypeScript/pull/35998</span> 0301 <span style="font-weight:bold;font-style:italic">let</span> v1<span style="color:#3f8058">:</span> <span style="font-weight:bold">awaited</span> <span style="color:#2980b9">number</span><span style="color:#3f8058">;</span> 0302 <span style="font-weight:bold;font-style:italic">let</span> v2<span style="color:#3f8058">:</span> <span style="font-weight:bold">awaited</span> <span style="color:#7f8c8d">Promise</span><span style="color:#3f8058"><</span><span style="color:#2980b9">number</span><span style="color:#3f8058">></span><span style="color:#3f8058">;</span> 0303 <span style="font-weight:bold">function</span> <span style="color:#8e44ad">f7</span><span style="color:#3f8058"><</span>U<span style="color:#3f8058">></span>() { 0304 <span style="font-weight:bold;font-style:italic">let</span> v0<span style="color:#3f8058">:</span> <span style="font-weight:bold">awaited</span> U<span style="color:#3f8058">;</span> 0305 <span style="font-weight:bold;font-style:italic">let</span> v1<span style="color:#3f8058">:</span> <span style="font-weight:bold">awaited</span> <span style="color:#7f8c8d">Promise</span><span style="color:#3f8058"><</span>U<span style="color:#3f8058">></span><span style="color:#3f8058">;</span> 0306 } 0307 0308 <span style="color:#7a7c7d">// Tagged template literals</span> 0309 <span style="color:#8e44ad">tagFunc</span><span style="color:#da4453">`</span> 0310 <span style="color:#da4453"> Hello world!</span> 0311 <span style="color:#da4453"> </span><span style="color:#3daee9">${</span> <span style="color:#8e44ad">alert</span>(<span style="color:#f44f4f">"Hello!"</span>)<span style="color:#3f8058">;</span> <span style="color:#3daee9">}</span><span style="color:#da4453">`</span><span style="color:#3f8058">;</span> 0312 obj<span style="color:#3f8058">.</span><span style="color:#2980b9">something</span><span style="color:#3f8058">.</span><span style="color:#8e44ad">tagFunc</span><span style="color:#da4453">`Setting </span><span style="color:#3daee9">${</span>setting<span style="color:#3daee9">}</span><span style="color:#da4453"> is </span><span style="color:#3daee9">${</span>value <span style="color:#3f8058">+</span> <span style="color:#f67400">5</span><span style="color:#3daee9">}</span><span style="color:#da4453">!`</span><span style="color:#3f8058">;</span> 0313 </pre></body></html>