feat: add missing KF6 framework recipes

This commit is contained in:
2026-05-07 07:53:26 +01:00
parent d8d498f831
commit a69f479b52
2374 changed files with 2610246 additions and 0 deletions
@@ -0,0 +1,313 @@
<!DOCTYPE html>
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>test.ts</title>
<meta name="generator" content="KF5::SyntaxHighlighting - Definition (TypeScript) - Theme (Breeze Dark)"/>
</head><body style="background-color:#232629;color:#cfcfc2"><pre>
<span style="color:#7a7c7d">/// </span><span style="font-weight:bold">&lt;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>
<span style="color:#7a7c7d">// TypeScript Test</span>
<span style="font-weight:bold;font-style:italic">class</span> Student {
fullName<span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span><span style="color:#3f8058">;</span>
<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>) {
<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>
}
}
<span style="font-weight:bold;font-style:italic">interface</span> Person {
firstName<span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span><span style="color:#3f8058">;</span>
lastName<span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span><span style="color:#3f8058">;</span>
}
<span style="font-weight:bold">function</span> <span style="color:#8e44ad">greeter</span>(person <span style="color:#3f8058">:</span> Person) {
<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>
}
<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>
<span style="color:#7a7c7d">// Built-in</span>
<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
<span style="color:#7f8c8d">JSON</span><span style="color:#3f8058">.</span><span style="color:#8e44ad;font-style:italic">stringify</span>()
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<span style="font-weight:bold;font-style:italic">interface</span> FileBasedTestConfiguration {
[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>
}
<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> {
<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> {
<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>
<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>
})<span style="color:#3f8058">;</span>
}
<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) {
<span style="color:#fdbc4b;font-weight:bold">switch</span> (<span style="font-weight:bold">true</span>) {
<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>
numeration[<span style="color:#f67400">0</span>] <span style="color:#3f8058">=</span> i<span style="color:#3f8058">;</span>
<span style="color:#fdbc4b;font-weight:bold">break</span><span style="color:#3f8058">;</span>
}
}
<span style="font-weight:bold">const</span> <span style="font-weight:bold;font-style:italic">enum</span> ResponseCode {
Success <span style="color:#3f8058">=</span> <span style="color:#f67400">200</span><span style="color:#3f8058">,</span>
BadRequest <span style="color:#3f8058">=</span> <span style="color:#f67400">400</span>
}
<span style="color:#7a7c7d">// Substitutions</span>
<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>) {
<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">&amp;&amp;</span> a <span style="color:#3f8058">&lt;</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>)
}
<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>
<span style="color:#7a7c7d">// readonly</span>
<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>]) {
}
<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>]) {
}
<span style="font-weight:bold;font-style:italic">type</span> ReadWrite<span style="color:#3f8058">&lt;</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>
<span style="color:#7a7c7d">// const assertion</span>
<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>
<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>
<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>
<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>
<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>
<span style="color:#7a7c7d">// Definite assignment operator</span>
<span style="font-weight:bold;font-style:italic">class</span> Cl {
one<span style="color:#3f8058">?</span><span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span><span style="color:#3f8058">;</span>
two<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;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>
<span style="color:#7a7c7d">// Function with multiple arguments</span>
<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">&lt;</span><span style="color:#7f8c8d">Set</span><span style="color:#3f8058">&lt;</span><span style="color:#7f8c8d">Map</span><span style="color:#3f8058">&lt;</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> {
<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>) {
<span style="color:#fdbc4b;font-weight:bold">return</span> element<span style="color:#3f8058">;</span>
}
<span style="color:#fdbc4b;font-weight:bold">return</span> element<span style="color:#3f8058">;</span>
})<span style="color:#3f8058">;</span>
<span style="color:#7a7c7d">// Numerics</span>
<span style="font-weight:bold">var</span> a <span style="color:#3f8058">=</span> <span style="color:#f67400">0xA</span><span style="color:#3f8058">;</span>
<span style="font-weight:bold">var</span> b <span style="color:#3f8058">=</span> <span style="color:#f67400">0b1</span><span style="color:#3f8058">;</span>
<span style="font-weight:bold">var</span> c <span style="color:#3f8058">=</span> <span style="color:#f67400">0o7</span><span style="color:#3f8058">;</span>
<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>
<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>
<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>
<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>
<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>
<span style="font-weight:bold">var</span> i <span style="color:#3f8058">=</span> <span style="color:#f67400">1.</span><span style="color:#3f8058">;</span>
<span style="font-weight:bold">var</span> j <span style="color:#3f8058">=</span> <span style="color:#f67400">.1</span><span style="color:#3f8058">;</span>
<span style="font-weight:bold">var</span> k <span style="color:#3f8058">=</span> <span style="color:#f67400">1</span><span style="color:#3f8058">;</span>
<span style="font-weight:bold">var</span> l <span style="color:#3f8058">=</span> <span style="color:#f67400">1_2.e+3_22</span> <span style="color:#3f8058">|</span> <span style="color:#f67400">.2e2</span> <span style="color:#3f8058">|</span> <span style="color:#f67400">0o1_23</span> <span style="color:#3f8058">|</span> <span style="color:#f67400">11.2</span> <span style="color:#3f8058">|</span> <span style="color:#f67400">08</span><span style="color:#3f8058">;</span>
<span style="color:#7a7c7d">// Bigint</span>
<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>
<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>
<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>
<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>
<span style="color:#7a7c7d">// Invalid numbers</span>
<span style="font-weight:bold">var</span> l <span style="color:#3f8058">=</span> <span style="color:#f67400">0xA1</span><span style="color:#da4453;text-decoration:underline">t</span><span style="color:#3f8058">;</span>
<span style="font-weight:bold">var</span> m <span style="color:#3f8058">=</span> <span style="color:#f67400">0b01</span><span style="color:#da4453;text-decoration:underline">23</span><span style="color:#3f8058">;</span>
<span style="font-weight:bold">var</span> n <span style="color:#3f8058">=</span> <span style="color:#f67400">0o2</span><span style="color:#da4453;text-decoration:underline">9</span><span style="color:#3f8058">;</span>
<span style="font-weight:bold">var</span> n <span style="color:#3f8058">=</span> <span style="color:#f67400">0</span><span style="color:#da4453;text-decoration:underline">_7</span><span style="color:#3f8058">;</span>
<span style="font-weight:bold">var</span> n <span style="color:#3f8058">=</span> <span style="color:#f67400">1</span><span style="color:#da4453;text-decoration:underline">___1</span><span style="color:#3f8058">;</span>
<span style="font-weight:bold">var</span> n <span style="color:#3f8058">=</span> <span style="color:#f67400">1</span><span style="color:#da4453;text-decoration:underline">__</span><span style="color:#3f8058">;</span>
<span style="font-weight:bold">var</span> n <span style="color:#3f8058">=</span> <span style="color:#f67400">11</span><span style="color:#da4453;text-decoration:underline">__</span><span style="color:#3f8058">.</span><span style="color:#3f8058">;</span>
<span style="font-weight:bold">var</span> n <span style="color:#3f8058">=</span> <span style="color:#f67400">1</span><span style="color:#da4453;text-decoration:underline">__</span><span style="color:#3f8058">.</span><span style="color:#2980b9">e</span><span style="color:#3f8058">+</span><span style="color:#f67400">3_22</span><span style="color:#3f8058">;</span>
<span style="font-weight:bold">var</span> n <span style="color:#3f8058">=</span> <span style="color:#f67400">.2</span>_e2<span style="color:#3f8058">;</span>
<span style="color:#7a7c7d">// Types</span>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<span style="font-weight:bold">const</span> query <span style="color:#3f8058">=</span> <span style="color:#8e44ad">query</span><span style="color:#3f8058">&lt;</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>
<span style="color:#da4453"> SELECT *</span>
<span style="color:#da4453"> FROM statistics</span>
<span style="color:#da4453"> WHERE unit_id = $1`</span>)
<span style="font-weight:bold">function</span> <span style="color:#8e44ad">runQuery</span>() {
<span style="font-weight:bold">const</span> query <span style="color:#3f8058">=</span> <span style="color:#8e44ad">createQuery</span><span style="color:#3f8058">&lt;</span>[<span style="color:#2980b9">number</span>[]]<span style="color:#3f8058">,</span> Table<span style="color:#3f8058">&lt;</span>Columns<span style="color:#3f8058">>></span>(<span style="color:#da4453">`</span>
<span style="color:#da4453"> some SQL here</span>
<span style="color:#da4453"> `</span>)
<span style="color:#fdbc4b;font-weight:bold">return</span> database<span style="color:#3f8058">.</span><span style="color:#8e44ad">execute</span>(query)
}
aa<span style="color:#3f8058">:</span> <span style="color:#3f8058">&lt;</span>sdf<span style="color:#3f8058">/</span><span style="color:#3f8058">></span> <span style="color:#2980b9">string</span> <span style="color:#3f8058">?&lt;</span>ssd<span style="color:#3f8058">/</span><span style="color:#3f8058">></span> <span style="color:#2980b9">string</span>
string <span style="color:#7a7c7d">// Don't highlight</span>
aa<span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span> assa <span style="color:#3f8058">|</span>
<span style="color:#2980b9">string</span>
string <span style="color:#3f8058">;</span>
string
aa<span style="color:#3f8058">:</span> { <span style="color:#2980b9">string</span>
string } <span style="color:#7a7c7d">// Don't highlight</span>
aa<span style="color:#3f8058">:</span> [ <span style="color:#2980b9">string</span>
<span style="color:#2980b9">string</span> ]
aa<span style="color:#3f8058">:</span> ( <span style="color:#2980b9">string</span>
string ) <span style="color:#7a7c7d">// Don't highlight</span>
aa<span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span> <span style="color:#3f8058">&lt;</span><span style="color:#2980b9">string</span><span style="color:#3f8058">></span>
<span style="font-weight:bold;font-style:italic">interface</span> a {
aa<span style="color:#3f8058">:</span> <span style="color:#7a7c7d">/* comment</span>
<span style="color:#7a7c7d"> */</span> <span style="color:#2980b9">string</span><span style="color:#3f8058">,</span>
bb<span style="color:#3f8058">:</span> <span style="color:#7a7c7d">/* comment */</span>
<span style="color:#2980b9">number</span><span style="color:#3f8058">,</span>
cc<span style="color:#3f8058">:</span> <span style="color:#7a7c7d">// comment</span>
<span style="color:#2980b9">void</span><span style="color:#3f8058">,</span>
dd<span style="color:#3f8058">:</span>
<span style="color:#2980b9">any</span><span style="color:#3f8058">,</span>
}
<span style="font-weight:bold">null</span><span style="color:#3f8058">,</span> <span style="color:#3f8058">&lt;</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>
<span style="font-weight:bold">null</span><span style="color:#3f8058">,</span> <span style="color:#3f8058">&lt;</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>
<span style="color:#7a7c7d">// Correctly highlighting regular expressions</span>
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>
(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>)
<span style="color:#7a7c7d">// Type guards</span>
<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> {
<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>
}
<span style="color:#7a7c7d">// Conditional expressions (highlight keywords before ":")</span>
<span style="font-weight:bold;font-style:italic">class</span> C {
w <span style="color:#3f8058">=</span> () <span style="font-weight:bold">=></span>
<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>
z <span style="color:#3f8058">=</span> () <span style="font-weight:bold">=></span>
<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>
}
<span style="font-weight:bold">function</span> <span style="color:#8e44ad">foo</span><span style="color:#3f8058">&lt;</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> {
<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">&lt;</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>
<span style="color:#fdbc4b;font-weight:bold">return</span> <span style="color:#3f8058">&lt;</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>
}
<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>
<span style="font-weight:bold">undefined</span> <span style="color:#3f8058">:</span>
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>
<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>
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>
<span style="color:#7a7c7d">// Operator ??</span>
<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>
<span style="color:#7a7c7d">// Types and logical `&amp;&amp;` and `||` operators after `as` expression</span>
<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>
<span style="color:#7a7c7d">//Assertions</span>
<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> {}
<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>
<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>
<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">&lt;</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">&lt;</span>T<span style="color:#3f8058">></span><span style="color:#3f8058">;</span>
<span style="color:#27ae60">namespace</span> <span style="color:#2980b9">Debug</span> {
<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>
<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">&lt;</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">&lt;</span>T<span style="color:#3f8058">></span><span style="color:#3f8058">;</span>
}
<span style="color:#7a7c7d">// Only highlight valid regular expressions, of a single line, after strings</span>
<span style="color:#7a7c7d">// See: https://github.com/microsoft/TypeScript-TmLanguage/issues/786</span>
<span style="color:#f44f4f">"text"</span> <span style="color:#3f8058">/</span>No<span style="color:#3f8058">-</span>Regex
<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>
<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>
<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>
<span style="color:#7a7c7d">// Single quote</span>
<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>
<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>
<span style="color:#7a7c7d">// Template</span>
<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>
<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>
[<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">&lt;</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>
<span style="color:#7a7c7d">// Multiline arrow assignment</span>
<span style="font-weight:bold">const</span> h <span style="color:#3f8058">=</span> {
setSubProperty<span style="color:#3f8058">:</span> <span style="color:#3f8058">&lt;</span>
T <span style="font-weight:bold;font-style:italic">extends</span> A<span style="color:#3f8058">,</span>
K <span style="font-weight:bold;font-style:italic">extends</span> <span style="font-weight:bold">keyof</span> T<span style="color:#3f8058">,</span>
J <span style="font-weight:bold;font-style:italic">extends</span> <span style="font-weight:bold">keyof</span> T[K]
<span style="color:#3f8058">></span>(
property<span style="color:#3f8058">:</span> K<span style="color:#3f8058">,</span>
key<span style="color:#3f8058">:</span> J<span style="color:#3f8058">,</span>
value<span style="color:#3f8058">:</span> T[K][J]
) <span style="font-weight:bold">=></span> {}
}
<span style="color:#7a7c7d">// Private-Named Instance Fields</span>
<span style="font-weight:bold;font-style:italic">class</span> Greeter {
#name<span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span><span style="color:#3f8058">;</span>
<span style="font-weight:bold;font-style:italic">constructor</span>(name<span style="color:#3f8058">:</span> <span style="color:#2980b9">string</span>) {
<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>
}
<span style="color:#8e44ad">greet</span>() {
<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>
}
}
<span style="font-weight:bold;font-style:italic">class</span> Test {
#NAME1<span style="color:#3f8058">:</span> () <span style="font-weight:bold">=></span> <span style="color:#2980b9">string</span><span style="color:#3f8058">;</span>
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>
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>
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>
}
<span style="color:#7a7c7d">// Type-only imports and exports</span>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<span style="color:#27ae60">export type</span> { T }<span style="color:#3f8058">;</span>
<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>
<span style="color:#7a7c7d">// 'awaited' type operator: https://github.com/microsoft/TypeScript/pull/35998</span>
<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>
<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">&lt;</span><span style="color:#2980b9">number</span><span style="color:#3f8058">></span><span style="color:#3f8058">;</span>
<span style="font-weight:bold">function</span> <span style="color:#8e44ad">f7</span><span style="color:#3f8058">&lt;</span>U<span style="color:#3f8058">></span>() {
<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>
<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">&lt;</span>U<span style="color:#3f8058">></span><span style="color:#3f8058">;</span>
}
<span style="color:#7a7c7d">// Tagged template literals</span>
<span style="color:#8e44ad">tagFunc</span><span style="color:#da4453">`</span>
<span style="color:#da4453"> Hello world!</span>
<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>
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>
</pre></body></html>