@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
  })
});

/@tdxvolt/volt-client-web/

    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