@tdxvolt/volt-client-web

0.18.0 • Public • Published

@tdxvolt/volt-client-web

This package exposes the tdxVolt API via websocket in a universal way, i.e. it will work via nodejs or in the browser.

See @tdxvolt/volt-client-grpc for direct access to the Volt API via grpc, which is only supported in nodejs.

Installation

npm install @tdxvolt/volt-client-web

Usage

When using the volt-client-web package in a browser environment, you have the option to use the wasm build (recommended) or the pure js build. The wasm build is more efficient and faster, but requires a compatible browser. When building nodejs react-native applications, use the pure JS version.

// Import using the wasm build
import { VoltClient } from '@tdxvolt/volt-client-web/wasm';

// Import using the pure JS build
import { VoltClient } from '@tdxvolt/volt-client-web/js';

Begin by importing the VoltClient class from the package and creating a new instance of it. The VoltClient class requires a WebSocket class and a configuration object as arguments.

// Import the VoltClient class - note the use of the wasm build
import { VoltClient } from '@tdxvolt/volt-client-web/wasm';

// Load a Volt configuration from somewhere
const voltConfig = { ... };

// Create a new Volt client - here we use the window.WebSocket class
const client = new VoltClient(WebSocket, voltConfig);

return client.initialise().then(() => {
  // Use the client
  return client.GetResource({
    resource_id: voltConfig.volt.id
  })
});

Similarly, to use the pure JS build - just replace the import statement:

// Import the VoltClient class - note the use of the pure js build
import { VoltClient } from '@tdxvolt/volt-client-web/js';

// ... as above ...

When using the volt-client-web package in a nodejs application, a WebSocket class that is compatible with nodejs is required since the browser WebSocket class is not available in nodejs. A popular choice is the ws package, which provides a WebSocket class that is compatible with both nodejs and the browser.

// Import the VoltClient class - note the use of the pure js build
import { VoltClient } from '@tdxvolt/volt-client-web';

// Use the `ws` package to import the WebSocket class
import WebSocket from 'ws';

// Load a Volt configuration from somewhere
const voltConfig = { ... };

// Create a new Volt client - here we use the ws.WebSocket class
const client = new VoltClient(WebSocket, voltConfig);

return client.initialise().then(() => {
  // Use the client
  return client.GetResource({
    resource_id: voltConfig.volt.id
  })
});

Readme

Keywords

none

Package Sidebar

Install

npm i @tdxvolt/volt-client-web

Weekly Downloads

0

Version

0.18.0

License

ISC

Unpacked Size

81.4 kB

Total Files

10

Last publish

Collaborators

  • toby.ealden
  • nqminds-org