@firebend/control-tower-web-socket-client
TypeScript icon, indicating that this package has built-in type declarations

1.7.0 • Public • Published

web-socket-client

This library was generated with Nx.

It allows clients to connected to Control Tower's Real Time Event platform.

Running unit tests

Run nx test web-socket-client to execute the unit tests via Jest.

Running lint

Run nx lint web-socket-client to execute the lint via ESLint.

Examples

Connecting and Listening to All Events for a Given Entity

This snippet will register an event handler for any load change.

realTimeEventFactory('insert url')
  .withAccessToken('insert token or token promise')
  .startAsync()
  .then(builder => {
    builder.onAll('loads', event => {
      console.log('A load event triggered!', event.trigger)
    });
  });

Connecting and Listening to a Specific Trigger for a Given Entity

This snippet registers a handler to only receive modification events for the load entity.

realTimeEventFactory('insert url')
  .withAccessToken('insert token or token promise')
  .startAsync()
  .then(builder => {
    builder.on('loads', triggers => {
      triggers
        .on('Modified')
        .withEventHandler(event => {
          console.log('A load was modified!', event.eventTime)
        })
    });
  });

Connecting and Listening to a Specific Trigger With a Filter for a Given Entity

This snippet registers a handler to receive Created triggers and Modified triggers. The modified trigger has a filter to only fire when the load status or any stop in the stop array has been altered.

realTimeEventFactory('insert url')
  .withAccessToken('insert token or token promise')
  .startAsync()
  .then(builder => {
    builder.on('loads', triggers => {
      triggers
        .onTrigger('Created')
        .onTrigger('Modified', filters => {
          filters.withFilter('/loadStatus')
            .withFilter('/stops/*')
        })
        .withEventHandler(event => {
          console.log('A load event was triggered!', event.trigger)
        })
    });
  });

Package Sidebar

Install

npm i @firebend/control-tower-web-socket-client

Weekly Downloads

23

Version

1.7.0

License

MIT

Unpacked Size

38.5 kB

Total Files

50

Last publish

Collaborators

  • firebendwebmaster