forked from TypeScriptToLua/TypeScriptToLua.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
30 lines (30 loc) · 12.9 KB
/
index.html
File metadata and controls
30 lines (30 loc) · 12.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="generator" content="Docusaurus v2.0.0-alpha.66">
<link rel="search" type="application/opensearchdescription+xml" title="TypeScriptToLua" href="/opensearch.xml"><title data-react-helmet="true">TypeScriptToLua</title><meta data-react-helmet="true" property="og:title" content="TypeScriptToLua"><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="default"><link data-react-helmet="true" rel="shortcut icon" href="/images/favicon.ico"><link data-react-helmet="true" rel="preconnect" href="https://BH4D9OD16A-dsn.algolia.net" crossorigin="anonymous"><link rel="stylesheet" href="/styles.9416aee7.css">
<link rel="stylesheet" href="/main.69618293.css">
<link rel="stylesheet" href="/1df93b7f.0f27831e.css">
<link rel="preload" href="/styles.d045ceda.js" as="script">
<link rel="preload" href="/runtime~main.0c687518.js" as="script">
<link rel="preload" href="/main.886d9341.js" as="script">
<link rel="preload" href="/1.866c91ca.js" as="script">
<link rel="preload" href="/2.24047828.js" as="script">
<link rel="preload" href="/4.9b7dc264.js" as="script">
<link rel="preload" href="/1df93b7f.0e79057e.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></div><a class="navbar__brand" href="/"><img class="navbar__logo" src="/images/logo.png"><strong class="navbar__title">TypeScriptToLua</strong></a><a class="navbar__item navbar__link" href="/docs/getting-started">Docs</a><a class="navbar__item navbar__link" href="/play">Playground</a></div><div class="navbar__items navbar__items--right"><a href="https://discord.gg/BWAq58Y" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Discord</a><a href="https://github.com/TypeScriptToLua/TypeScriptToLua" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub</a><div class="react-toggle react-toggle--disabled displayOnlyInLargeViewport_2aTZ"><div class="react-toggle-track"><div class="react-toggle-track-check"><span class="toggle_BsTx">🌜</span></div><div class="react-toggle-track-x"><span class="toggle_BsTx">🌞</span></div></div><div class="react-toggle-thumb"></div><input type="checkbox" disabled="" aria-label="Dark mode toggle" class="react-toggle-screenreader-only"></div><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span><span class="DocSearch-Button-Key">⌘</span><span class="DocSearch-Button-Key">K</span></button></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div><div class="navbar-sidebar"><div class="navbar-sidebar__brand"><a class="navbar__brand" href="/"><img class="navbar__logo" src="/images/logo.png"><strong class="navbar__title">TypeScriptToLua</strong></a></div><div class="navbar-sidebar__items"><div class="menu"><ul class="menu__list"><li class="menu__list-item"><a class="menu__link" href="/docs/getting-started">Docs</a></li><li class="menu__list-item"><a class="menu__link" href="/play">Playground</a></li><li class="menu__list-item"><a href="https://discord.gg/BWAq58Y" target="_blank" rel="noopener noreferrer" class="menu__link">Discord</a></li><li class="menu__list-item"><a href="https://github.com/TypeScriptToLua/TypeScriptToLua" target="_blank" rel="noopener noreferrer" class="menu__link">GitHub</a></li></ul></div></div></div></nav><div class="main-wrapper"><header class="hero heroBanner_2Wl1 container"><h1 class="hero__title title_1uZi"><b>Type</b><wbr>Script<wbr>To<b>Lua</b></h1><p class="hero__subtitle">Write Lua with TypeScript</p><div class="buttons_2sHG"><a class="button button--outline button--primary button--lg" href="/docs/getting-started">Get Started</a><a class="button button--outline button--success button--lg" href="/play">Try Online</a></div></header><main><section class="padding-vert--md container"><div class="row"><div class="col col--6 example_1Bc9"><pre class="prism-code language-typescript codeBlock_222H"><button type="button" aria-label="Copy code to clipboard" class="copyButton_ujp3">Copy</button><a aria-label="Open code on playground" class="playgroundButton_3DKR" target="_blank" href="/play/#code/GYVwdgxgLglg9mABAgggIxgGxlAngYQEMBnKACigAsZiAuRANzhgBMAaRCEqAUwCd6AVTA4OUQnwDmPKABk4XWAnoA1HtDh8AlIgDeAKERHOCUonA5iiALyJgMMC2GWAkmABKhFjBDEKE6TkFQiUwDgBWAAZIrQBuQ2MIUyhEHjAeAFsYHitbCyhiADp7TF4+MnybAD5Obn5CmgBRdIzcCpEoLTj9BKNgTUQyJLAzNMzcZGBUluziHQNjRenxwoBrLEwybsWAX30doA">Playground</a><code class="codeBlockLines_3zpG" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">function</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">onAbilityCast</span><span class="token punctuation" style="color:#393A34">(</span><span class="token parameter keyword" style="color:#00009f">this</span><span class="token parameter punctuation" style="color:#393A34">:</span><span class="token parameter"> </span><span class="token parameter keyword" style="color:#00009f">void</span><span class="token parameter punctuation" style="color:#393A34">,</span><span class="token parameter"> caster</span><span class="token parameter punctuation" style="color:#393A34">:</span><span class="token parameter"> Unit</span><span class="token parameter punctuation" style="color:#393A34">,</span><span class="token parameter"> targetLocation</span><span class="token parameter punctuation" style="color:#393A34">:</span><span class="token parameter"> Vector</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> units </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">findUnitsInRadius</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">targetLocation</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">500</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> enemies </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> units</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">filter</span><span class="token punctuation" style="color:#393A34">(</span><span class="token parameter">unit</span><span class="token plain"> </span><span class="token arrow operator" style="color:#393A34">=></span><span class="token plain"> caster</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">isEnemy</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">unit</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
</span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">for</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> enemy </span><span class="token keyword" style="color:#00009f">of</span><span class="token plain"> enemies</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"> enemy</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">kill</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span></div></code></pre></div><div class="col col--6 example_1Bc9"><pre class="prism-code language-lua codeBlock_222H"><button type="button" aria-label="Copy code to clipboard" class="copyButton_ujp3">Copy</button><code class="codeBlockLines_3zpG" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">function onAbilityCast(caster, targetLocation)</span></div><div class="token-line" style="color:#393A34"><span class="token plain"> local units = findUnitsInRadius(targetLocation, 500)</span></div><div class="token-line" style="color:#393A34"><span class="token plain"> local enemies = __TS__ArrayFilter(</span></div><div class="token-line" style="color:#393A34"><span class="token plain"> units,</span></div><div class="token-line" style="color:#393A34"><span class="token plain"> function(____, unit) return caster:isEnemy(unit) end</span></div><div class="token-line" style="color:#393A34"><span class="token plain"> )</span></div><div class="token-line" style="color:#393A34"><span class="token plain"> for ____, enemy in ipairs(enemies) do</span></div><div class="token-line" style="color:#393A34"><span class="token plain"> enemy:kill()</span></div><div class="token-line" style="color:#393A34"><span class="token plain"> end</span></div><div class="token-line" style="color:#393A34"><span class="token plain">end</span></div></code></pre></div></div></section><section class="padding-vert--lg container"><div class="row"><div class="col col--4"><h3>Extend existing APIs</h3><p>This project is useful in any environment where Lua code is accepted, with the powerful option of simply declaring any existing API using TypeScript declaration files.</p></div><div class="col col--4"><h3>Type Safety</h3><p>Static types can ease the mental burden of writing programs, by automatically tracking information the programmer would otherwise have to track mentally in some fashion. Types serve as documentation for yourself and other programmers and provide a ‘gradient’ that tells you what terms make sense to write.</p></div><div class="col col--4"><h3>IDE Support</h3><p>Types enable Lua developers to use highly-productive development tools and practices like static checking and code refactoring when developing Lua applications. TypeScript extensions are available for many text editors.</p></div></div></section></main></div></div>
<script src="/styles.d045ceda.js"></script>
<script src="/runtime~main.0c687518.js"></script>
<script src="/main.886d9341.js"></script>
<script src="/1.866c91ca.js"></script>
<script src="/2.24047828.js"></script>
<script src="/4.9b7dc264.js"></script>
<script src="/1df93b7f.0e79057e.js"></script>
</body>
</html>