File indexing completed on 2024-05-19 15:23:17
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__.e+3_22</span> <span style="color:#3f8058;">|</span> <span style="color:#f67400;">.2____e2</span> <span style="color:#3f8058;">|</span> <span style="color:#f67400;">0o1_23</span> <span style="color:#3f8058;">|</span> <span style="color:#f67400;">11__.</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;">// Types</span> 0134 <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> 0135 <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> 0136 <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> 0137 <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> 0138 <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> 0139 <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> 0140 <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> 0141 <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> 0142 <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> 0143 <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> 0144 0145 <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> 0146 <span style="color:#da4453;"> SELECT *</span> 0147 <span style="color:#da4453;"> FROM statistics</span> 0148 <span style="color:#da4453;"> WHERE unit_id = $1`</span>) 0149 0150 <span style="font-weight:bold;">function</span> <span style="color:#8e44ad;">runQuery</span>() { 0151 <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> 0152 <span style="color:#da4453;"> some SQL here</span> 0153 <span style="color:#da4453;"> `</span>) 0154 <span style="color:#fdbc4b;font-weight:bold;">return</span> database<span style="color:#3f8058;">.</span><span style="color:#8e44ad;">execute</span>(query) 0155 } 0156 0157 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> 0158 string <span style="color:#7a7c7d;">// Don't highlight</span> 0159 aa<span style="color:#3f8058;">:</span> <span style="color:#2980b9;">string</span> assa <span style="color:#3f8058;">|</span> 0160 <span style="color:#2980b9;">string</span> 0161 string <span style="color:#3f8058;">;</span> 0162 string 0163 0164 aa<span style="color:#3f8058;">:</span> { <span style="color:#2980b9;">string</span> 0165 string } <span style="color:#7a7c7d;">// Don't highlight</span> 0166 0167 aa<span style="color:#3f8058;">:</span> [ <span style="color:#2980b9;">string</span> 0168 <span style="color:#2980b9;">string</span> ] 0169 aa<span style="color:#3f8058;">:</span> ( <span style="color:#2980b9;">string</span> 0170 string ) <span style="color:#7a7c7d;">// Don't highlight</span> 0171 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> 0172 <span style="font-weight:bold;font-style:italic;">interface</span> a { 0173 aa<span style="color:#3f8058;">:</span> <span style="color:#7a7c7d;">/* comment</span> 0174 <span style="color:#7a7c7d;"> */</span> <span style="color:#2980b9;">string</span><span style="color:#3f8058;">,</span> 0175 bb<span style="color:#3f8058;">:</span> <span style="color:#7a7c7d;">/* comment */</span> 0176 <span style="color:#2980b9;">number</span><span style="color:#3f8058;">,</span> 0177 cc<span style="color:#3f8058;">:</span> <span style="color:#7a7c7d;">// comment</span> 0178 <span style="color:#2980b9;">void</span><span style="color:#3f8058;">,</span> 0179 dd<span style="color:#3f8058;">:</span> 0180 <span style="color:#2980b9;">any</span><span style="color:#3f8058;">,</span> 0181 } 0182 0183 <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> 0184 <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> 0185 0186 <span style="color:#7a7c7d;">// Correctly highlighting regular expressions</span> 0187 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> 0188 (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>) 0189 0190 <span style="color:#7a7c7d;">// Type guards</span> 0191 <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> { 0192 <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> 0193 } 0194 0195 <span style="color:#7a7c7d;">// Conditional expressions (highlight keywords before ":")</span> 0196 <span style="font-weight:bold;font-style:italic;">class</span> C { 0197 w <span style="color:#3f8058;">=</span> () <span style="font-weight:bold;">=></span> 0198 <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> 0199 z <span style="color:#3f8058;">=</span> () <span style="font-weight:bold;">=></span> 0200 <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> 0201 } 0202 0203 <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> { 0204 <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> 0205 <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> 0206 } 0207 0208 <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> 0209 <span style="font-weight:bold;">undefined</span> <span style="color:#3f8058;">:</span> 0210 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> 0211 <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> 0212 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> 0213 0214 <span style="color:#7a7c7d;">// Operator ??</span> 0215 <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> 0216 0217 <span style="color:#7a7c7d;">// Types and logical `&&` and `||` operators after `as` expression</span> 0218 <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> 0219 0220 <span style="color:#7a7c7d;">//Assertions</span> 0221 <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> {} 0222 <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> 0223 <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> 0224 <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> 0225 <span style="color:#27ae60;">namespace</span> <span style="color:#2980b9;">Debug</span> { 0226 <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> 0227 <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> 0228 } 0229 0230 <span style="color:#7a7c7d;">// Only highlight valid regular expressions, of a single line, after strings</span> 0231 <span style="color:#7a7c7d;">// See: https://github.com/microsoft/TypeScript-TmLanguage/issues/786</span> 0232 <span style="color:#f44f4f;">"text"</span> <span style="color:#3f8058;">/</span>No<span style="color:#3f8058;">-</span>Regex 0233 <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> 0234 <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> 0235 <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> 0236 <span style="color:#7a7c7d;">// Single quote</span> 0237 <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> 0238 <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> 0239 <span style="color:#7a7c7d;">// Template</span> 0240 <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> 0241 <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> 0242 0243 [<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> 0244 0245 <span style="color:#7a7c7d;">// Multiline arrow assignment</span> 0246 <span style="font-weight:bold;">const</span> h <span style="color:#3f8058;">=</span> { 0247 setSubProperty<span style="color:#3f8058;">:</span> <span style="color:#3f8058;"><</span> 0248 T <span style="font-weight:bold;font-style:italic;">extends</span> A<span style="color:#3f8058;">,</span> 0249 K <span style="font-weight:bold;font-style:italic;">extends</span> <span style="font-weight:bold;">keyof</span> T<span style="color:#3f8058;">,</span> 0250 J <span style="font-weight:bold;font-style:italic;">extends</span> <span style="font-weight:bold;">keyof</span> T[K] 0251 <span style="color:#3f8058;">></span>( 0252 property<span style="color:#3f8058;">:</span> K<span style="color:#3f8058;">,</span> 0253 key<span style="color:#3f8058;">:</span> J<span style="color:#3f8058;">,</span> 0254 value<span style="color:#3f8058;">:</span> T[K][J] 0255 ) <span style="font-weight:bold;">=></span> {} 0256 } 0257 0258 <span style="color:#7a7c7d;">// Private-Named Instance Fields</span> 0259 <span style="font-weight:bold;font-style:italic;">class</span> Greeter { 0260 #name<span style="color:#3f8058;">:</span> <span style="color:#2980b9;">string</span><span style="color:#3f8058;">;</span> 0261 <span style="font-weight:bold;font-style:italic;">constructor</span>(name<span style="color:#3f8058;">:</span> <span style="color:#2980b9;">string</span>) { 0262 <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> 0263 } 0264 <span style="color:#8e44ad;">greet</span>() { 0265 <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> 0266 } 0267 } 0268 <span style="font-weight:bold;font-style:italic;">class</span> Test { 0269 #NAME1<span style="color:#3f8058;">:</span> () <span style="font-weight:bold;">=></span> <span style="color:#2980b9;">string</span><span style="color:#3f8058;">;</span> 0270 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> 0271 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> 0272 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> 0273 } 0274 0275 <span style="color:#7a7c7d;">// Type-only imports and exports</span> 0276 <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> 0277 <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> 0278 <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> 0279 <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> 0280 <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> 0281 <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> 0282 0283 <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> 0284 <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> 0285 <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> 0286 <span style="color:#27ae60;">export type</span> { T }<span style="color:#3f8058;">;</span> 0287 <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> 0288 0289 <span style="color:#7a7c7d;">// 'awaited' type operator: https://github.com/microsoft/TypeScript/pull/35998</span> 0290 <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> 0291 <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> 0292 <span style="font-weight:bold;">function</span> <span style="color:#8e44ad;">f7</span><span style="color:#3f8058;"><</span>U<span style="color:#3f8058;">></span>() { 0293 <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> 0294 <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> 0295 } 0296 0297 <span style="color:#7a7c7d;">// Tagged template literals</span> 0298 <span style="color:#8e44ad;">tagFunc</span><span style="color:#da4453;">`</span> 0299 <span style="color:#da4453;"> Hello world!</span> 0300 <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> 0301 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> 0302 </pre></body></html>