0.1.0-beta.5 • Published 2 years ago

ardunno-cli-api v0.1.0-beta.5

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

ardunno-cli-api

nice-grpc API for the Arduino CLI

All code in this repository is generated from the .proto files of the Arduino CLI.

Installation

npm i ardunno-cli-api --save

Usage

Create client:

const { createChannel, createClient } = require('nice-grpc');
const { ArduinoCoreServiceDefinition } = require('ardunno-cli-api');

// Requires a running Arduino CLI. `./arduino-cli daemon --port 50051 --format json`
const channel = createChannel('localhost:50051');
const client = createClient(ArduinoCoreServiceDefinition, channel);

ESM is also supported:

import { createChannel, createClient } from 'nice-grpc';
import { ArduinoCoreServiceDefinition } from 'ardunno-cli-api';

Create and initialize instance:

// Create the core instance
const { instance } = await client.create({});

for await (const { message } of client.init({ instance })) {
    switch (message.$case) {
        case 'error':
            throw new Error(message.error);
    }
}

Search platforms:

const { searchOutput } = await client.platformSearch({ instance, searchArgs: 'SAMD' });
searchOutput.forEach(({ id, latest }) => console.log(`${id}@${latest}`));

// arduino:samd@1.8.13
// Arrow:samd@2.1.0
// industruino:samd@1.0.1