RXJS 5+ Adapter for Actyx Pond V2

Usage no npm install needed!

<script type="module">
  import actyxContribRxPond from 'https://cdn.skypack.dev/@actyx-contrib/rx-pond';


RX Pond

import { RxPond } from '@actyx-contrib/rx-pond'


RxPond is available as a npm package.

npm install @actyx-contrib/rx-pond


This library provides a very simple RXjs adapter for the Pond. The RxPond type supplies all the same functions as the regular Pond does, only with the interface return Observable where useful. The most obvious example being the RxPond.observe function that returns an Observable<S> rather than taking a callback.

To get ahold of an RxPond, there are these options:

import { RxPond } from '@actyx-contrib/rx-pond'

// Create an RxPond from an existing Pond instance
const fromExisting = RxPond.from(myPond)

// Create an RxPond backed by a Pond with default parameters
const defaultRxPond = RxPond.default({
      appId: 'com.example.rx-pond-example',
      displayName: 'RX Pond Example',
      version: '0.0.1',

// Provide custom parameters (same arguments as Pond.of)
const parameterizedRxPond = RxPond.of(
    // Configure AppManifest
      appId: 'com.example.rx-pond-example',
      displayName: 'RX Pond Example',
      version: '0.0.1',
      signature: '<signature>'
    // Configure connection options 
      actyxHost: 'localhost',
      actyxPort: '4243',
      onConnectionLost: () => console.error('connection to Actyx lost')    
    // Configure Pond options
        fishErrorReporter: (err, fishId, detail) > console.error('fish error', err, fishId, detail)


This library is version agnostic in regards to RXjs – it works flawlessly with both 5.x and 6.x.

This library remains compatible with all future releases in the Pond V2 line.