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