# @measure-iot/api

> Interface to Measure's Mr. Fusion API

Latest version **2.0.6** (published 2021-06-23) · BSD-3-Clause license · 0 weekly downloads

## Install

```sh
npm install @measure-iot/api
pnpm add @measure-iot/api
yarn add @measure-iot/api
bun add @measure-iot/api
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.6 |
| Published | 2021-06-23 |
| First published | 2020-05-26 |
| Weekly downloads | 0 |
| License | BSD-3-Clause |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 41.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | measure-iot |

## Links

- npm: https://www.npmjs.com/package/@measure-iot/api
- npm.io page: https://npm.io/package/@measure-iot/api

## Recent versions

- 2.0.6 (latest) — 2021-06-23
- 2.0.5 — 2021-06-23
- 2.0.4 — 2020-12-18
- 2.0.3 — 2020-12-17
- 2.0.2 — 2020-12-17
- 2.0.1 — 2020-12-17
- 2.0.0 — 2020-12-17
- 1.0.13 — 2020-09-20
- 1.0.12 — 2020-08-07
- 1.0.11 — 2020-07-31
- 1.0.10 — 2020-07-31
- 1.0.9 — 2020-06-16
- 1.0.8 — 2020-06-16
- 1.0.7 — 2020-05-29
- 1.0.6 — 2020-05-27
- … 6 more at https://npm.io/package/@measure-iot/api/versions

## README

# Measure API Node Client

This client generates an interface to access Measure's Mr. Fusion API

## Installation

First install the package with
```
npm install --save @measure-iot/api
```

# Usage examples

## Minimal usage
``` javascript
import { Measure } from '@measure-iot/api';

const measureApi = new Measure();

const user = await measureApi.authenticate('YOUR-USERNAME', 'YOUR-PASSWORD');
const organization = await measureApi.getOrganization(user.organization.id);

// Pretty print json response
console.log(JSON.stringify(organization, null, 2));
```

## Usage with sessions
To manage sessions you can store the token
``` javascript
const token = measureApi.getAuthToken();

storeToken(token);  // Store your session token
```

and reload it instead of logging in again
``` javascript
import { Measure } from '@measure-iot/api';

const MY_AUTH_TOKEN = getStoredToken();  // Get token from storage

const measureApi = new Measure();

let user;

if (MY_AUTH_TOKEN) {
    measureApi.setAuthToken(MY_AUTH_TOKEN);
    user = await measureApi.getMe();
} else {
    user = await measureApi.authenticate('YOUR-USERNAME', 'YOUR-PASSWORD');
}

// Do user stuff...
```

## Cancel requests
You can also cancel a request by passing an instance of `MeasureRequestHandler`
``` javascript
const cancelToken = new MeasureRequestHandler();

// Login...
const { organization } = user;

const organization = await measureApi.getOrganization(organization.id, cancelToken);
```

And you can do
``` javascript
cancelToken.cancel();
```

by cancelling a request, the promise will return `undefined`.

---
_Source: https://npm.io/package/@measure-iot/api · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
