# oro-client

> ORO Client component is intended to wrap all back-end interaction logic.

Latest version **0.1.0** (published 2021-04-21) · MIT license · 0 weekly downloads

## Install

```sh
npm install oro-client
pnpm add oro-client
yarn add oro-client
bun add oro-client
```

## Health

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

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.0 |
| Published | 2021-04-21 |
| First published | 2021-04-21 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=10 |
| Dependencies | 2 |
| Unpacked size | 200.1 KB |
| Known vulnerabilities | 0 (+7 in 1 direct dependencies) |
| Install scripts | no |
| Author | Antoine Jaouen |
| Maintainers | tech-team-oro |

## Links

- npm: https://www.npmjs.com/package/oro-client
- npm.io page: https://npm.io/package/oro-client

## Dependencies (2)

- [svelte](https://npm.io/package/svelte.md) ^3.37.0
- [oro-toolbox](https://npm.io/package/oro-toolbox.md) 0.0.0

## Recent versions

- 0.1.0 (latest) — 2021-04-21

## README

# oro-client

ORO Client component is intended to wrap all back-end interaction logic.

> Warning: only browsers can make use this component.

## Requirements

- npm 6.14.11

## Getting started

This package is intended to work in a SSR ready web server (tested with [Sapper](https://sapper.svelte.dev/docs/)).

In order to import it you'll need to:

- Set the server to serve statically the wasm binary
- Initialise this component

### Server side only

You'll find the wasm to serve location under `wasmPath`. The component expects to fetch it at `[server url]/oro_toolbox_bg.wasm`

> Note: in a Sapper application you'll prefer to do that in the `server.ts`

### Client side only

You have to initialise the component as follow:

```javascript
import init from 'oro-client';
init();
```

> Note: in a Sapper application you'll prefer to do that in the `client.ts`

The initialised `toolboxModule` being a [Svelte store](https://svelte.dev/docs#svelte_store) you can derive it in order to safely wait for its initialisation.

## Local development

### Set up project

```bash
npm install
```

Then, it's possible to either build/watch component by using

```bash
npm start # watch
npm build # build
```

### Import this locally (without having to publish it)

Use [npm link](https://docs.npmjs.com/cli/v7/commands/npm-link)

In this dir use. It will build and link your `dist` folder.

```bash
npm link

# Optional command, will rebuild on save and reload your dependent app
npm start
```

On the dependent app

```bash
npm link oro-client
```

> Note: Please set `wasmPath` variable as asked in `src/index.ts`

> Caveat: There is some caveat using `npm link` please see [doc](https://docs.npmjs.com/cli/v7/commands/npm-link#caveat)

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