@tdxvolt/volt-client-web
v0.18.1
Published
This package exposes the tdxVolt API via websocket in a universal way, i.e. it will work via nodejs or in the browser.
Downloads
60
Readme
@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
})
});