Skip to content

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 index is recycled into the pool of available indexes 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

sh
npm install @soundworks/plugin-checkin --save

Usage

Server

js
// 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

js
// 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

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

Credits

https://soundworks.dev/credits.html

License

BSD-3-Clause