Stage 3 · Seven languages
Code and Code file blocks accept seven language values. Every lesson in this stage builds the same block: it reads trigger.text and publishes it as message. That way you can compare the languages side by side.
Starter workflow
Paste this once, then swap in each lesson’s language and body:
Test each one with Open code editor → Execute step.
At a glance
| Language | language | Runner | JSON in the standard library? |
|---|---|---|---|
| Bash | bash | bash | No. Use jq |
| PowerShell | powershell | pwsh -NoProfile -NonInteractive -ExecutionPolicy Bypass | Yes (ConvertFrom-Json) |
| Python | python | python3 -u | Yes (json) |
| C# | csharp | dotnet run snippet.cs (.NET 10+) | Yes (System.Text.Json) |
| Rust | rust | rustc --edition 2024 -O | No, and there’s no Cargo |
| JavaScript | javascript | node snippet.mjs (ES module) | Yes (JSON) |
| TypeScript | typescript | Node 22.6+ native, or tsx | Yes (JSON) |
The short versions above leave out validation. Each lesson shows the production version, which validates its input.
jq-based JSON handling, strict mode, and returning compact output.
Raw reads, ConvertFrom-Json, and compact ConvertTo-Json output.
Standard-library JSON, stderr diagnostics, and Unicode-safe output.
.NET 10 file-based apps, System.Text.Json, and reflection-free output.
rustc without Cargo: standard library only, byte-level input, and careful output.
Node.js ES modules, node: built-ins, and JSON.stringify output.
Native Node type stripping, erasable syntax, and runtime validation.