/arena-ts

A client library for interacting with the are.na api

Primary LanguageTypeScript

arena-ts

Build Status Coverage Status

A typescript client for are.na. Compatible in node and browser environments.

Prior art: arena-js.

Note: This is an unofficial client and typing information has been derived by comparing the official documentation with response types from use. These may change over time or depending on context, if you notice any discrepancies please let us know. Contributions are welcome.

Installation

// using npm
npm install arena-ts
// using yarn
yarn add arena-ts

Usage

Simple Example:
import {ArenaClient} from 'arena-ts';

const client = new ArenaClient();

client.channels().then(console.log);
Node JS

To use this library in Node you will need to inject your choice of Fetch API compatible libraries when instantiating the client. A good choice is node-fetch. Fetch polyfills have been excluded from this package to make it lighter for browsers where fetch is included natively.

For example:

import {ArenaClient} from 'arena-ts';
import fetch from 'node-fetch'

const client = new ArenaClient({fetch});

client.channels().then(console.log);

API

Check out the complete API Documentation.

This is based on Arena's Restful API.

Note: some undocumented endpoints have been added:

  • client.me() - gets authenticated users details
  • client.group('groupname').get() - get group details
  • client.group('groupname').channels() - group channels
  • client.block(123).comments() - fetch block comments
  • client.block(123).addComment('comment') - add new comment to block
  • client.block(123).deleteComment(123) - delete comment by id
  • client.block(123).updateComment(123, 'new comment') - update comment by id