UNPKG

tio.js

Version:

A small TypeScript library that lets you evaluate code in a sandboxed environment everywhere with TryItOnline.

709 lines (705 loc) 10.2 kB
export type TioLanguage = | '05ab1e' | '1l-a' | '1l-aoi' | '2dfuck' | '2l' | '2sable' | '33' | '3var' | '4' | '7' | '99' | 'a-gram' | 'a-pear-tree' | 'abc' | 'abc-assembler' | 'accbb' | 'aceto' | 'actually' | 'ada-gnat' | 'adapt' | 'addpp' | 'adjust' | 'agda' | 'agony' | 'ahead' | 'aheui' | 'alchemist' | 'algol68g' | 'alice' | 'alice-bob' | 'aliceml' | 'alphabeta' | 'alphabetti-spaghetti' | 'alphuck' | 'alumin' | 'amnesiac-from-minsk' | 'ante' | 'anyfix' | 'apl-dyalog' | 'apl-dyalog-classic' | 'apl-dyalog-extended' | 'apl-dzaima' | 'apl-ngn' | 'appleseed' | 'arble' | 'archway' | 'archway2' | 'arcyou' | 'arnoldc' | 'asciidots' | 'asperix' | 'assembly-as' | 'assembly-fasm' | 'assembly-gcc' | 'assembly-jwasm' | 'assembly-nasm' | 'ats2' | 'attache' | 'aubergine' | 'awk' | 'axo' | 'backhand' | 'bash' | 'bc' | 'bctbww' | 'bctbww2' | 'beam' | 'bean' | 'beanshell' | 'beatnik' | 'beeswax' | 'befunge' | 'befunge-93-fbbi' | 'befunge-93-mtfi' | 'befunge-93-pyfunge' | 'befunge-96-mtfi' | 'befunge-97-mtfi' | 'befunge-98' | 'befunge-98-pyfunge' | 'bit' | 'bitbitjump' | 'bitch' | 'bitch-bith' | 'bitch-shifty' | 'bitchanger' | 'bitcycle' | 'bitwise' | 'blak' | 'blc' | 'boo' | 'boolfuck' | 'bosh' | 'bot-engine' | 'brachylog' | 'brachylog2' | 'bracmat' | 'braille' | 'brain-flak' | 'brainbash' | 'brainbool' | 'brainflump' | 'brainfuck' | 'braingolf' | 'brainhack' | 'brainlove' | 'brainspace' | 'brat' | 'brian-chuck' | 'broccoli' | 'bubblegum' | 'burlesque' | 'buzzfizz' | 'bwfuckery' | 'c-clang' | 'c-gcc' | 'c-tcc' | 'caboose' | 'cakeml' | 'calc2' | 'canvas' | 'cardinal' | 'carol-dave' | 'carrot' | 'cascade' | 'catholicon' | 'cauliflower' | 'ceres' | 'ceylon' | 'chain' | 'charm' | 'chef' | 'changeling' | 'chapel' | 'charcoal' | 'check' | 'checkedc' | 'cheddar' | 'chip' | 'cil-mono' | 'cinnamon-gum' | 'cixl' | 'cjam' | 'clam' | 'clean' | 'clips' | 'clisp' | 'clojure' | 'cobol-gnu' | 'cobra' | 'coconut' | 'coffeescript' | 'coffeescript2' | 'commata' | 'commentator' | 'commercial' | 'condit' | 'convex' | 'cood' | 'corea' | 'cow' | 'cpp-clang' | 'cpp-gcc' | 'cpy' | 'cquents' | 'crayon' | 'cryptol' | 'crystal' | 'cs-core' | 'cs-csc' | 'cs-csi' | 'cs-mono' | 'cs-mono-shell' | 'csl' | 'cubically' | 'cubix' | 'curlyfrick' | 'curry-pakcs' | 'curry-sloth' | 'cy' | 'cyclone' | 'd' | 'd2' | 'dafny' | 'dart' | 'dash' | 'dc' | 'deadfish-' | 'decimal' | 'delimit' | 'deorst' | 'dirty' | 'detour' | 'dg' | 'dobela' | 'dobela-dobcon' | 'dodos' | 'dreaderef' | 'drive-in-window' | 'dscript' | 'dstack' | 'eacal' | 'ec' | 'ecndpcaalrlp' | 'ecpp-c' | 'ecpp-cpp' | 'dyvil' | 'ed' | 'egel' | 'element' | 'elf' | 'elixir' | 'elvm-ir' | 'emacs-lisp' | 'emmental' | 'emoji' | 'emoji-gramming' | 'emojicode' | 'emojicode6' | 'emojicoder' | 'emotifuck' | 'emotinomicon' | 'empty-nest' | 'enlist' | 'erlang-escript' | 'es' | 'esopunk' | 'eta' | 'euphoria3' | 'euphoria4' | 'evil' | 'explode' | 'extended-brainfuck-type-i' | 'extrac' | 'face' | 'factor' | 'false' | 'fantom' | 'farnsworth' | 'felix' | 'fernando' | 'feu' | 'fimpp' | 'fish' | 'fish-shell' | 'fission' | 'fission2' | 'flipbit' | 'floater' | 'flobnar' | 'foam' | 'focal' | 'foo' | 'forget' | 'forked' | 'forte' | 'forth-gforth' | 'fortran-gfortran' | 'fourier' | 'fractran' | 'fs-core' | 'fs-mono' | 'fueue' | 'funciton' | 'functoid' | 'funky' | 'funky2' | 'fynyl' | 'gaia' | 'gaotpp' | 'gap' | 'gema' | 'geo' | 'glypho' | 'glypho-shorthand' | 'gnuplot' | 'go' | 'golfish' | 'golfscript' | 'granule' | 'grass' | 'grime' | 'groovy' | 'gs2' | 'gwion' | 'hades' | 'haskell' | 'haskell-gofer' | 'haskell-hugs' | 'haskell-literate' | 'hasm' | 'haxe' | 'haystack' | 'hbcht' | 'hdbf' | 'hexagony' | 'hobbes' | 'hodor' | 'homespring' | 'hspal' | 'huginn' | 'husk' | 'hy' | 'i' | 'iag' | 'icon' | 'idris' | 'incident' | 'ink' | 'intercal' | 'io' | 'j' | 'jael' | 'jq' | 'jx' | 'j-uby' | 'japt' | 'java-jdk' | 'java-openjdk' | 'javascript-babel-node' | 'javascript-node' | 'javascript-spidermonkey' | 'javascript-v8' | 'jelly' | 'jellyfish' | 'joy' | 'julia' | 'julia1x' | 'julia5' | 'julia6' | 'julia7' | 'k-kona' | 'k-ngn' | 'k-ok' | 'kavod' | 'keg' | 'kipple-cipple' | 'klein' | 'koberi-c' | 'koka' | 'kotlin' | 'krrp' | 'ksh' | 'l33t' | 'labyrinth' | 'lean' | 'lily' | 'llvm' | 'lmbm' | 'lnusp' | 'locksmith' | 'logicode' | 'lolcode' | 'lost' | 'lower' | 'lua' | 'lua-luajit' | 'lua-openresty' | 'ly' | 'm' | 'm4' | 'machinecode' | 'make' | 'malbolge' | 'malbolge-unshackled' | 'mamba' | 'mariolang' | 'mascarpone' | 'mathgolf' | 'mathematica' | 'mathics' | 'matl' | 'maverick' | 'maxima' | 'maybelater' | 'memory-gap' | 'milambda' | 'milky-way' | 'minefriff' | 'minimal-2d' | 'miniml' | 'minkolang' | 'mirror' | 'momema' | 'monkeys' | 'moonscript' | 'moorhens' | 'mornington-crescent' | 'mouse' | 'mouse2002' | 'mouse83' | 'mu6' | 'mumps' | 'muriel' | 'my' | 'my-basic' | 'nameless' | 'nandy' | 'nial' | 'nikud' | 'nim' | 'neim' | 'neutrino' | 'nhohnhehr' | 'no' | 'noether' | 'nqt' | 'ntfjc' | 'numberwang' | 'oasis' | 'obcode' | 'oberon-07' | 'object-pascal-fpc' | 'objective-c-clang' | 'objective-c-gcc' | 'occam-pi' | 'ocaml' | 'octave' | 'odin' | 'ohm' | 'ohm2' | 'oml' | 'ooocode' | 'oration' | 'ork' | 'orst' | 'osabie' | 'osh' | 'pain-flak' | 'paradoc' | 'parenthesis-hell' | 'parenthetic' | 'pari-gp' | 'pascal-fpc' | 'path' | 'pbrain' | 'perl4' | 'perl5' | 'perl5-cperl' | 'perl6' | 'perl6-niecza' | 'phoenix' | 'phooey' | 'php' | 'physica' | 'picolisp' | 'piet' | 'pike' | 'pilot-pspilot' | 'pilot-rpilot' | 'pingpong' | 'pip' | 'pixiedust' | 'pl' | 'pony' | 'positron' | 'postl' | 'postscript-xpost' | 'powershell' | 'powershell-core' | 'prelude' | 'premier' | 'preproc' | 'prolog-ciao' | 'prolog-swi' | 'proton' | 'proton2' | 'ps-core' | 'pure' | 'purescript' | 'purple' | 'pushy' | 'puzzlang' | 'pyke' | 'pylons' | 'pyn-tree' | 'pyon' | 'pyramid-scheme' | 'pyret' | 'pyt' | 'pyth' | 'python1' | 'python2' | 'python2-cython' | 'python2-iron' | 'python2-jython' | 'python2-pypy' | 'python3' | 'python38pr' | 'python3-cython' | 'python3-pypy' | 'python3-stackless' | 'qqq' | 'qs-core' | 'quadr' | 'quadrefunge-97-mtfi' | 'quads' | 'quarterstaff' | 'quintefunge-97-mtfi' | 'r' | 'racket' | 'rad' | 'rail' | 'random-brainfuck' | 'rapira' | 're-direction' | 'reason' | 'rebol' | 'rebol3' | 'recursiva' | 'red' | 'reng' | 'reregex' | 'res' | 'resplicate' | 'reticular' | 'retina' | 'retina1' | 'return' | 'rexx' | 'ring' | 'rk' | 'rockstar' | 'roda' | 'roop' | 'ropy' | 'rotor' | 'rprogn' | 'rprogn-2' | 'ruby' | 'runic' | 'rust' | 'rutger' | 'sad-flak' | 'sakura' | 'sbf' | 'scala' | 'scheme-chez' | 'scheme-chicken' | 'scheme-gambit' | 'scheme-guile' | 'sed' | 'sed-gnu' | 'seed' | 'septefunge-97-mtfi' | 'seriously' | 'sesos' | 'set' | 'sexefunge-97-mtfi' | 'sfk' | 'shapescript' | 'shnap' | 'shortc' | 'shove' | 'shp' | 'shtriped' | 'silos' | 'sidef' | 'silberjoder' | 'simplefunge' | 'simplestack' | 'simplex' | 'simula' | 'sisal' | 'sisi' | 'slashes' | 'smbf' | 'sml-mlton' | 'smol' | 'snails' | 'snobol4' | 'snowman' | 'snusp' | 'snusp-bloated' | 'snuspi' | 'somme' | 'spaced' | 'spim' | 'spl' | 'spoon' | 'sqlite' | 'squirrel' | 'stackcats' | 'stacked' | 'starfish' | 'starry' | 'stax' | 'stencil' | 'stones' | 'str' | 'straw' | 'subskin' | 'sumerian' | 'supermariolang' | 'superstack' | 'surface' | 'swap' | 'swift4' | 'syms' | 'symbolic-python' | 'taco' | 'tampio' | 'tampioi' | 'tamsin' | 'tapebagel' | 'taxi' | 'tcl' | 'tcsh' | 'templat' | 'templates' | 'thing' | 'threead' | 'thue' | 'thutu' | 'tidy' | 'tincan' | 'tinybf' | 'tinylisp' | 'tir' | 'tis' | 'toi' | 'tmbww' | 'transcript' | 'trefunge-97-mtfi' | 'trefunge-98-pyfunge' | 'triangular' | 'triangularity' | 'trigger' | 'triple-threat' | 'trumpscript' | 'turtled' | 'typescript' | 'ubasic' | 'underload' | 'unefunge-97-mtfi' | 'unefunge-98-pyfunge' | 'unicat' | 'unlambda' | 'uno' | 'unreadable' | 'ursala' | 'v' | 'v-fmota' | 'vala' | 'var' | 'vb-core' | 'verbosity' | 'verbosity2' | 'versert' | 'visual-basic-net-mono' | 'visual-basic-net-vbc' | 'vitsy' | 'vlang' | 'vsl' | 'wasm' | 'waterfall' | 'whirl' | 'whispers' | 'whispers2' | 'whitespace' | 'width' | 'wierd' | 'wise' | 'woefully' | 'wren' | 'wsf' | 'wumpus' | 'wyalhein' | 'xeec' | 'xeraph' | 'yaball' | 'yabasic' | 'yash' | 'ybc' | 'yup' | 'z3' | 'z80golf' | 'zephyr' | 'zig' | 'zkl' | 'zoidberg' | 'zsh' export interface TioOptions { language?: TioLanguage timeout?: number cflags?: string[] argv?: string[] } export interface TioResponse { readonly output: string readonly timedOut: boolean readonly realTime: number readonly userTime: number readonly sysTime: number readonly CPUshare: number readonly exitCode: number } export type Tio = { (code: string, options?: TioOptions): Promise<TioResponse> defaultLanguage: TioLanguage defaultTimeout: number defaultCflags: string[] defaultArgv: string[] refreshTimeout: number }