/client-lib-js

A lib to Let you create your JavaScript/TypeScript application with Lenra backend

Primary LanguageTypeScriptMIT LicenseMIT

Contributors Forks Stargazers Issues MIT License


Lenra's JavaScript client lib

Let you create your JavaScript application with Lenra backend.

Report Bug · Request Feature

Prerequisites

Add the dependency to your project:

npm i @lenra/client

(back to top)

Usage

Create a LenraApp in your :

import { LenraApp } from '@lenra/client';

const app = new LenraApp({
    appName: "Example Client",
    clientId: "XXX-XXX-XXX",
});

Authenticate the user and open the websocket connection:

app.connect();

You also can manage them separatly:

const token = app.authenticate();
app.openSocket(token);

Or just open the websocket connection without authentication:

app.openSocket();

This while automatically start the authentication flow.

You can then connect to a Lenra route to use it data:

const route = app.route(`/${counter.id}`, (data) => {
    // Handle data
});

You can also call a listener given by the route:

// calling directly the listener
button1.onclick = () => {
  data.increment().then(() => {
      // When the listener is finished
  });
};
// or from the route
button2.onclick = () => {
  route.callListener(data.decrement).then(() => {
      // When the listener is finished
  });
};

This the full example for more informations.

For the web target, you also have to add the following JavaScript to a redirect file (default to redirect.html) to handle OAuth2 redirection (see the example):

window.onload = function() {
  window.opener.postMessage(window.location.href, `${window.location.protocol}//${window.location.host}`);
}

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please open an issue with the tag "enhancement". Don't forget to give the project a star if you liked it! Thanks again!

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Contact

Lenra - @lenra_dev - contact@lenra.io

Project Link: https://github.com/lenra-io/client-lib-js

(back to top)