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

1.7.2 • 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)
        })
    });
  });

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

    Package Sidebar

    Install

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

    Weekly Downloads

    0

    Version

    1.7.2

    License

    MIT

    Unpacked Size

    38.5 kB

    Total Files

    50

    Last publish

    Collaborators

    • firebendwebmaster