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
22 lines (22 loc) · 17.2 KB
/
index.html
File metadata and controls
22 lines (22 loc) · 17.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!doctype html>
<html lang="en" dir="ltr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="generator" content="Docusaurus v2.0.0-beta.ff31de0ff">
<link rel="alternate" type="application/rss+xml" href="/TypeScriptToLua.github.io/blog/rss.xml" title="TypeScriptToLua Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/TypeScriptToLua.github.io/blog/atom.xml" title="TypeScriptToLua Blog Atom Feed">
<link rel="search" type="application/opensearchdescription+xml" title="TypeScriptToLua" href="/TypeScriptToLua.github.io/opensearch.xml"><title data-react-helmet="true">TypeScriptToLua</title><meta data-react-helmet="true" property="og:title" content="TypeScriptToLua"><meta data-react-helmet="true" property="og:url" content="https://typescripttolua.github.io/TypeScriptToLua.github.io/"><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="/TypeScriptToLua.github.io/images/favicon.ico"><link data-react-helmet="true" rel="canonical" href="https://typescripttolua.github.io/TypeScriptToLua.github.io/"><link data-react-helmet="true" rel="alternate" href="https://typescripttolua.github.io/TypeScriptToLua.github.io/" hreflang="en"><link data-react-helmet="true" rel="alternate" href="https://typescripttolua.github.io/TypeScriptToLua.github.io/" hreflang="x-default"><link data-react-helmet="true" rel="preconnect" href="https://BH4D9OD16A-dsn.algolia.net" crossorigin="anonymous"><script data-react-helmet="true">function maybeInsertBanner(){window.__DOCUSAURUS_INSERT_BASEURL_BANNER&&insertBanner()}function insertBanner(){var n=document.getElementById("docusaurus-base-url-issue-banner-container");if(n){n.innerHTML='\n<div id="docusaurus-base-url-issue-banner" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseurl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">/TypeScriptToLua.github.io/</span> </p>\n <p>We suggest trying baseUrl = <span id="docusaurus-base-url-issue-banner-suggestion-container" style="font-weight: bold; color: green;"></span></p>\n</div>\n';var e=document.getElementById("docusaurus-base-url-issue-banner-suggestion-container"),s=window.location.pathname,r="/"===s.substr(-1)?s:s+"/";e.innerHTML=r}}window.__DOCUSAURUS_INSERT_BASEURL_BANNER=!0,document.addEventListener("DOMContentLoaded",maybeInsertBanner)</script><link rel="stylesheet" href="/TypeScriptToLua.github.io/assets/css/styles.18adf632.css">
<link rel="preload" href="/TypeScriptToLua.github.io/assets/js/runtime~main.a63cd74a.js" as="script">
<link rel="preload" href="/TypeScriptToLua.github.io/assets/js/main.311b8aa1.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">
<div id="docusaurus-base-url-issue-banner-container"></div><div><a href="#main" class="skipToContent_1oUP">Skip to main content</a></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle" type="button" tabindex="0"><svg aria-label="Menu" 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></button><a class="navbar__brand" href="/TypeScriptToLua.github.io/"><img src="/TypeScriptToLua.github.io/images/logo.png" alt="TypeScriptToLua" class="themedImage_1VuW themedImage--light_3UqQ navbar__logo"><img src="/TypeScriptToLua.github.io/images/logo.png" alt="TypeScriptToLua" class="themedImage_1VuW themedImage--dark_hz6m navbar__logo"><strong class="navbar__title">TypeScriptToLua</strong></a><a class="navbar__item navbar__link" href="/TypeScriptToLua.github.io/docs/getting-started">Docs</a><a class="navbar__item navbar__link" href="/TypeScriptToLua.github.io/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 header-discord-link" aria-label="Discord Server"></a><a href="https://github.com/TypeScriptToLua/TypeScriptToLua" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link header-github-link" aria-label="GitHub repository"></a><div class="react-toggle displayOnlyInLargeViewport_GrZ2 react-toggle--disabled" role="button" tabindex="-1"><div class="react-toggle-track"><div class="react-toggle-track-check"><span class="toggle_71bT">🌜</span></div><div class="react-toggle-track-x"><span class="toggle_71bT">🌞</span></div></div><div class="react-toggle-thumb"></div><input type="checkbox" class="react-toggle-screenreader-only" aria-label="Switch between dark and light mode"></div><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><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></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="/TypeScriptToLua.github.io/"><img src="/TypeScriptToLua.github.io/images/logo.png" alt="TypeScriptToLua" class="themedImage_1VuW themedImage--light_3UqQ navbar__logo"><img src="/TypeScriptToLua.github.io/images/logo.png" alt="TypeScriptToLua" class="themedImage_1VuW themedImage--dark_hz6m navbar__logo"><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="/TypeScriptToLua.github.io/docs/getting-started">Docs</a></li><li class="menu__list-item"><a class="menu__link" href="/TypeScriptToLua.github.io/play">Playground</a></li><li class="menu__list-item"><a href="https://discord.gg/BWAq58Y" target="_blank" rel="noopener noreferrer" class="menu__link header-discord-link" aria-label="Discord Server"></a></li><li class="menu__list-item"><a href="https://github.com/TypeScriptToLua/TypeScriptToLua" target="_blank" rel="noopener noreferrer" class="menu__link header-github-link" aria-label="GitHub repository"></a></li></ul></div></div></div></nav><div class="main-wrapper"><header class="hero heroBanner_Nujh container"><h1 class="hero__title title_1A8t"><b>Type</b><wbr>Script<wbr>To<b>Lua</b></h1><p class="hero__subtitle">Write Lua with TypeScript</p><div class="quickNavButtons_8Xwo"><a class="button button--outline button--primary button--lg quickNavButton_2Kn8" href="/TypeScriptToLua.github.io/docs/getting-started">Get Started</a><a class="button button--outline button--success button--lg quickNavButton_2Kn8" href="/TypeScriptToLua.github.io/play">Try Online</a></div></header><main><section class="padding-vert--md container"><div class="row"><div class="col col--6 example_t7IC"><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly typescript"><div tabindex="0" class="prism-code language-typescript codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" 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 keyword" style="color:#00009f">this</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">void</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> caster</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token maybe-class-name">Unit</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> targetPos</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token maybe-class-name">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">targetPos</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" 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">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 plain">unit </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" style="display:inline-block">
</span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span></div></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div></div><div class="col col--6 example_t7IC"><div class="codeBlockContainer_K1bP"><div class="codeBlockContent_hGly lua"><div tabindex="0" class="prism-code language-lua codeBlock_23N8 thin-scrollbar"><div class="codeBlockLines_39YC" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token plain">function onAbilityCast(caster, targetPos)</span></div><div class="token-line" style="color:#393A34"><span class="token plain"> local units = findUnitsInRadius(targetPos, 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></div></div><button type="button" aria-label="Copy code to clipboard" class="copyButton_Ue-o">Copy</button></div></div></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><footer class="footer"><div class="container"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Docs</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/TypeScriptToLua.github.io/docs/getting-started">Getting Started</a></li><li class="footer__item"><a class="footer__link-item" href="/TypeScriptToLua.github.io/docs/configuration">Configuration</a></li><li class="footer__item"><a class="footer__link-item" href="/TypeScriptToLua.github.io/docs/advanced/writing-declarations">Advanced</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items"><li class="footer__item"><a href="https://discord.gg/BWAq58Y" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord</a></li></ul></div><div class="col footer__col"><div class="footer__title">More</div><ul class="footer__items"><li class="footer__item"><a href="https://github.com/TypeScriptToLua" target="_blank" rel="noopener noreferrer" class="footer__link-item">Github</a></li><li class="footer__item"><a class="footer__link-item" href="/TypeScriptToLua.github.io/play">Playground</a></li></ul></div></div><div class="footer__bottom text--center"><div class="margin-bottom--sm"><a href="https://github.com/TypeScriptToLua" target="_blank" rel="noopener noreferrer" class="footerLogoLink_MyFc"><img src="/TypeScriptToLua.github.io/images/logo.png" alt="TypeScriptToLua Logo" class="themedImage_1VuW themedImage--light_3UqQ footer__logo"><img src="/TypeScriptToLua.github.io/images/logo.png" alt="TypeScriptToLua Logo" class="themedImage_1VuW themedImage--dark_hz6m footer__logo"></a></div><div class="footer__copyright">Copyright © 2021 TypeScriptToLua Contributors</div></div></div></footer></div>
<script src="/TypeScriptToLua.github.io/assets/js/runtime~main.a63cd74a.js"></script>
<script src="/TypeScriptToLua.github.io/assets/js/main.311b8aa1.js"></script>
</body>
</html>