From f897b32b7b9c6c66b2049f61477cfebac3777344 Mon Sep 17 00:00:00 2001 From: adambrangenberg <adambrangenberg@proton.me> Date: Tue, 9 May 2023 22:22:18 +0200 Subject: [PATCH] Adding types --- .idea/misc.xml | 4 +++- .idea/modules.xml | 10 +++++++++ .idea/piston.iml | 9 ++++++++ .idea/vcs.xml | 6 ++++++ index.d.ts | 44 ++++++++++++++++++++++++++++++++++++++ packages/groovy/groovy.iml | 11 ++++++++++ packages/java/packages.iml | 11 ++++++++++ 7 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 .idea/modules.xml create mode 100644 .idea/piston.iml create mode 100644 .idea/vcs.xml create mode 100644 index.d.ts create mode 100644 packages/groovy/groovy.iml create mode 100644 packages/java/packages.iml diff --git a/.idea/misc.xml b/.idea/misc.xml index 030f9a4..08f646b 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,4 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> - <component name="ProjectRootManager" version="2" languageLevel="JDK_17" project-jdk-name="corretto-17" project-jdk-type="JavaSDK" /> + <component name="ProjectRootManager" version="2" languageLevel="JDK_17" project-jdk-name="corretto-17" project-jdk-type="JavaSDK"> + <output url="file://$PROJECT_DIR$/out" /> + </component> </project> \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..07ceb1f --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ProjectModuleManager"> + <modules> + <module fileurl="file://$PROJECT_DIR$/packages/groovy/groovy.iml" filepath="$PROJECT_DIR$/packages/groovy/groovy.iml" /> + <module fileurl="file://$PROJECT_DIR$/packages/java/packages.iml" filepath="$PROJECT_DIR$/packages/java/packages.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/piston.iml" filepath="$PROJECT_DIR$/.idea/piston.iml" /> + </modules> + </component> +</project> \ No newline at end of file diff --git a/.idea/piston.iml b/.idea/piston.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/.idea/piston.iml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<module type="JAVA_MODULE" version="4"> + <component name="NewModuleRootManager" inherit-compiler-output="true"> + <exclude-output /> + <content url="file://$MODULE_DIR$" /> + <orderEntry type="inheritedJdk" /> + <orderEntry type="sourceFolder" forTests="false" /> + </component> +</module> \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="VcsDirectoryMappings"> + <mapping directory="" vcs="Git" /> + </component> +</project> \ No newline at end of file diff --git a/index.d.ts b/index.d.ts new file mode 100644 index 0000000..d3c1f9c --- /dev/null +++ b/index.d.ts @@ -0,0 +1,44 @@ +export default function piston(): PistonClient + +export interface PistonClient { + runtimes(): Promise<Result | Runtime[]>; + + execute(language: language, code: string, options?: ExecutionOptions): Promise<Result | ExecutionResult>; +} + +export interface ExecutionResult { + language: language; + version: string; + run: { + stdout: string; + stderr: string; + code: number; + signal: any; + output: string + } +} + +export interface ExecutionOptions { + language: language; + version: string; + files: { + name: string; + content: string; + }[] + stdin: string; + args: string[]; + compile_timeout: number; + run_timeout: number; + compile_memory_limit: number; + run_memory_limit: number; +} + +export interface Runtime { + language: language; + version: string; + aliases: string[] +} + +export type Result = any | { error: any, success: boolean } | undefined; + +export type language = "awk" | "bash" | "befunge93" | "brachylog" | "brainfuck" | "bqn" | "c" | "c++" | "cjam" | "clojure" | "cobol" | "coffeescript" | "cow" | "crystal" | "csharp" | "csharp.net" | "d" | "dart" | "dash" | "dragon" | "elixir" | "emacs" | "emojicode" | "erlang" | "file" | "forte" | "forth" | "fortran" | "freebasic" | "fsharp.net" | "fsi" | "go" | "golfscript" | "groovy" | "haskell" | "husk" | "iverilog" | "japt" | "java" | "javascript" | "jelly" | "julia" | "kotlin" | "lisp" | "llvm_ir" | "lolcode" | "lua" | "matl" | "nasm" | "nasm64" | "nim" | "ocaml" | "octave" | "osabie" | "paradoc" | "pascal" | "perl" | "php" | "ponylang" | "powershell" | "prolog" | "pure" | "pyth" | "python" | "python2" | "racket" | "raku" | "retina" | "rockstar" | "rscript" | "ruby" | "rust" | "samarium" | "scala" | "smalltalk" | "sqlite3" | "swift" | "typescript" | "basic" | "basic.net" | "vlang" | "vyxal" | "yeethon" | "zig"; \ No newline at end of file diff --git a/packages/groovy/groovy.iml b/packages/groovy/groovy.iml new file mode 100644 index 0000000..aa9188b --- /dev/null +++ b/packages/groovy/groovy.iml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<module type="JAVA_MODULE" version="4"> + <component name="NewModuleRootManager" inherit-compiler-output="true"> + <exclude-output /> + <content url="file://$MODULE_DIR$"> + <sourceFolder url="file://$MODULE_DIR$/3.0.7" isTestSource="false" /> + </content> + <orderEntry type="inheritedJdk" /> + <orderEntry type="sourceFolder" forTests="false" /> + </component> +</module> \ No newline at end of file diff --git a/packages/java/packages.iml b/packages/java/packages.iml new file mode 100644 index 0000000..bd6fc4a --- /dev/null +++ b/packages/java/packages.iml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<module type="JAVA_MODULE" version="4"> + <component name="NewModuleRootManager" inherit-compiler-output="true"> + <exclude-output /> + <content url="file://$MODULE_DIR$"> + <sourceFolder url="file://$MODULE_DIR$/15.0.2" isTestSource="false" /> + </content> + <orderEntry type="inheritedJdk" /> + <orderEntry type="sourceFolder" forTests="false" /> + </component> +</module> \ No newline at end of file