Zum Inhalt springen

Code-Aktionen

Wenn der Graph nicht ausreicht, führt der Baustein Code ein Skript aus.

Sieben Sprachen stehen zur Verfügung, alle ausgeführt in einer eingebetteten WebAssembly-Sandbox: Auf Ihrem Rechner ist kein Interpreter erforderlich, und das Skript hat keinen Zugriff auf Ihr Dateisystem.

SpracheEngine
TypeScriptQuickJS (Typen werden bei der Kompilierung entfernt)
JavaScriptQuickJS
PythonPyodide (zu WebAssembly kompiliertes CPython)
LuaLua 5.4 in WebAssembly
RubyCRuby in WebAssembly
RWebR
C#.NET in WebAssembly mit Roslyn

Die Standardsprache ist TypeScript.

Unabhängig von der Sprache stellt der Baustein dasselbe bereit:

Eingängevalue (benannt input), code (Zeichenkette)
Ausgängeresult
Konfigurationlanguage, code, timeout, packages
  • input — der auf dem Eingangsport empfangene Wert.
  • vars — die Run-Variablen.
  • Die Standardausgabe der Sprache (console.log, print, puts, cat, Console.WriteLine) speist das Ausführungslog.
  • Der zurückgegebene Wert geht an den Port result. Ein Fehler oder eine Zeitüberschreitung geht an error.

timeout, in Sekunden: 5 als Standard, 60 als Maximum. Ein Skript, das dies überschreitet, wird abgebrochen, und die Ausführung geht an den Port error.

Das Feld packages akzeptiert eine Liste aus { name, version }. Die exakten Versionen dienen als Cache-Schlüssel: Die Abhängigkeiten werden bei der ersten Ausführung aufgelöst, zwischengespeichert und bei jeder folgenden Ausführung offline eingebunden — auch in der CI.

SpracheQuelle
TypeScript / JavaScriptnpm (das gesamte Ökosystem ist gebündelt)
PythonReine Python-Wheels von PyPI
LuaLuaRocks (reine Lua-Quellen)
RubyReine Ruby-Gems
RCRAN, über das WebAssembly-Repository von WebR
C#Keine — nur die .NET-Standardbibliothek

Viele Anforderungen sind bereits durch Bausteine abgedeckt, die lesbarer und schneller sind:

BedarfBaustein
Einen Wert aus einer Antwort extrahierenEin Verbindungs-Selektor
Eine Zeichenkette formatierenTransformer
Eine Liste filtern, sortieren, aggregierenListen
Hashen, kodieren, signierenKodierung
Eine Struktur prüfenEin Schema validieren

Heben Sie den Baustein Code für wirklich spezifische Logik auf.