1.0.1 • Published 3 years ago

@s10akir/node-paiza-io v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

paizaIO を Node.js プロジェクトから簡単に利用できるようにする API ラッパーとその CLI ツール

🏠 paizaIO

Install

# Install
$ npm install -g @s10akir/node-paiza-io

Getting Started

CLI

$ paiza-io run typescript 'console.log("Hello PaizaIO!");'
# Hello PaizaIO!

# Or without install
$ npx @s10akir/node-paiza-io run typescript 'console.log("Hello PaizaIO!");'

For more advanced usage, see paiza-io --help.

In Your Project

npm install --save-dev @s10akir/node-paiza-io
const PaizaIO = require("@s10akir/node-paiza-io");

const paizaIO = new PaizaIO({
  apiKey: process.env.PAIZA_IO_API_KEY || "guest",
});

(async () => {
  const runner = await paizaIO.createRunner({
    language: "ruby",
    sourceCode: "puts 'Hello PaizaIO!'",
  });

  while (await runner.checkRunning()) {
    // sleep 1000ms
    await new Promise((resolve) => setTimeout(resolve, 1000));
  }

  const details = await runner.getDetails();

  // build error
  if (details.buildResult && details.buildResult !== "success") {
    console.error("[!] build error");

    if (details.buildStdout)
      console.error(`buildStdout: ${details.buildStdout.trim()}`);
    if (details.buildStderr)
      console.error(`buildStderr: ${details.buildStderr.trim()}`);
    return;
  }

  // runtime error
  if (details.result !== "success") {
    console.error("[!] runtime error");
    if (details.stdout) console.error(`stdout: ${details.stdout.trim()}`);
    if (details.stderr) console.error(`stderr: ${details.stderr.trim()}`);
    return;
  }

  console.log(details.stdout.trim());
})();

Author

👤 Akira Shinohara akira.shinohara@mojamoja.cloud

🤝 Contributing

Contributions, issues and feature requests are welcome!Feel free to check issues page. You can also take a look at the contributing guide.

📝 License

Copyright © 2021 Akira Shinohara <akira.shinohara@mojamoja.cloud>. This project is MIT licensed.