1.1.0 • Published 2 years ago

tryitonline v1.1.0

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

🤔 What is tryitonline?

Try It Online is a family of online interpreters for an evergrowing list of practical and recreational programming languages. This module - tryitonline - is an API wrapper for it.

You can view some examples here.

🏓 Table Of Contents

📩 Installation

npm install tryitonline
yarn add tryitonline
pnpm add tryitonline

🍕 API

const tio = require('tryitonline');
// OR
import tio from 'tryitonline';

🟢 Node < 17.5

tryitonline uses the new Node.js fetch, in order to use this in older versions of Node.js, you must polyfill the fetch API.

For example using cross-fetch:

require('cross-fetch/polyfill');

<tio>.languages

Use the languages method to get a list of programming languages that Try It Online provides.

tio.languages(): Promise<Language[]>;

TypeScript Interfaces

interface Language {
    /** ID */
    id: string;
    /** Name */
    name: string;
    /** Language URL */
    link: string;
    /** Categories */
    categories: Category[];
    /** Encoding */
    encoding: Encoding;
    /** Method of updating */
    update: Update;
    /** Examples for how to use this language */
    examples: EvaluateOptions & { expected: string }[];
    /** Unmask */
    unmask: Unmask[];
    /** The language this language piggybacks */
    piggyback?: string;
    /** Short ID for this language */
    prettify?: string;
    /** Tab */
    tab?: string;
}

<tio>.evaluate

The evaluate method is used to evaluate a piece of code, by sending a request to Try It Online.

tio.evaluate(options: EvaluateOptions, timeout?: number): Promise<EvaluateResult>

TypeScript Interfaces

interface EvaluateOptions {
    /** Language ID */
    language: string;
    /** Compiler flags */
    flags?: string[];
    /** Command-line options */
    options?: string[];
    /** Driver */
    driver?: string[];
    /** Code */
    code: string;
    /** Input */
    input?: string;
    /** Arguments */
    args?: string[];
}
interface EvaluateResult {
    /** Evaluation status */
    status: ResultStatus.Passed | ResultStatus.TimedOut;
    /** Language */
    language: Language;
    /** Output */
    output: string;
    /** Debug log */
    debug: string;
    /** Warnings */
    warnings: string;
}

<tio>.constants

The constants function is used to change things such as the TIO url and default timeout.

tio.constants(options: Constants): void

TypeScript Interfaces

interface Constants {
    /** The TIO url to use */
    baseUrl?: string;
    /** The default max time to evaluate */
    defaultTimeout?: number;
    /** How often to reprepare */
    refreshInterval?: number;
}
1.1.0

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago