@soundworks/plugin-checkin

2.0.0-alpha.0 • Public • Published

soundworks | plugin checkin

npm version

soundworks plugin to assign a unique index to the clients among the available ones. When a client disconnects, it's ticket is recycled into the pool of available ticket and can be re-assigned to a newly connected client. The number of available indexes can be limited and can be associated to additional data.

Table of Contents

Installation

npm install @soundworks/plugin-checkin --save

Usage

Server

// index.js
import { Server } from '@soundworks/core/server.js';
import pluginCheckin from '@soundworks/plugin-checkin/server.js';

const server = new Server();
server.pluginManager.register('checkin', pluginCheckin);

Client

// index.js
import { Client } from '@soundworks/core/client.js';
import pluginCheckin from '@soundworks/plugin-checkin/client.js';

const client = new Client();
client.pluginManager.register('checkin', pluginCheckin);

await client.start();

const checkin = await client.pluginManager.get('checkin');
const index = checkin.getIndex();

API

Classes

PluginCheckinClient

Client-side representation of the soundworks' checkin plugin.

PluginCheckinServer

Server-side representation of the soundworks' checkin plugin.

PluginCheckinClient

Client-side representation of the soundworks' checkin plugin.

Kind: global class

pluginCheckinClient.getIndex() ⇒ number

Return the unique index given to the client

Kind: instance method of PluginCheckinClient

pluginCheckinClient.getData() ⇒ mixed

Return the associated data given to the client (if any)

Kind: instance method of PluginCheckinClient

PluginCheckinServer

Server-side representation of the soundworks' checkin plugin.

Kind: global class

new PluginCheckinServer()

The constructor should never be called manually. The plugin will be instantiated by soundworks when registered in the pluginManager

Available options:

  • capacity {number} [Infinity] - Number of available indexes
  • data {array} - optionnal data associated to a given index.

Example

server.pluginManager.register('checkin', pluginCheckin, {
  capacity: 3,
  data: [{ color: 'green' }, { color: 'yellow' }, { color: 'pink' }],
});

Credits

https://soundworks.dev/credits.html

License

BSD-3-Clause

Readme

Keywords

none

Package Sidebar

Install

npm i @soundworks/plugin-checkin

Weekly Downloads

28

Version

2.0.0-alpha.0

License

BSD-3-Clause

Unpacked Size

11.8 kB

Total Files

5

Last publish

Collaborators

  • jipodine
  • b-ma