JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 36
  • Score
    100M100P100Q60569F
  • License MIT

Circular Dependencies for most.js

Package Exports

  • most-proxy

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (most-proxy) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Most Proxy

Create circular stream dependencies that is declarative and designed to avoid memory leaks.

This codebase is proudly written in TypeScript so you can enjoy beautiful typings.

Install

npm install --save most-proxy

Example

import { periodic } from 'most'
import { proxy } from 'most-proxy'

// create a proxy
// returns *attach* to attach proxy to another stream, and a proxy stream *stream*
const { attach, stream } = proxy()

// observe the proxy, taking only three events
// proxy is a real most.Stream
// when stream ends, original will also be disposed of internally
stream.take(3).observe(x => console.log(x)) // 1, 2, 3

// here we create the stream we want to use as the circular dependency
const original = periodic(100, 1).scan((x, y) => x + y, 0)

// pipe events from original to proxy stream
attach(original)

API Documentation

interface Proxy<T> {
  attach(stream: Stream<T>): Stream<T>;

  stream: Stream<T>;
}