rxjs-lite
TypeScript icon, indicating that this package has built-in type declarations

1.0.5 • Public • Published

Lightweight reactive extensions for modern JavaScript (rxjs-lite)

npm package version number Actions Status License

sample code

import { Observable } from '@machester4/rxjs-lite'

class ChatModelObservable extends Observable {
  private messages: string[] = []

  constructor() {
    super()
  }

  sendMessage(userID: number, message: string) {
    this.messages.push(message)
    this._next({ userID, message })
  }
}

type ChatMessageDto = {
  userID: number
  message: string
}

const testObservable = new ChatModelObservable()
const subscriptionA = testObservable.subscribe<ChatMessageDto>((message) =>
  console.log('message received subscription A: ', message)
)
const subscriptionB = testObservable.subscribe<ChatMessageDto>((message) =>
  console.log('message received subscription B: ', message)
)

testObservable.sendMessage(1, 'Hello')

subscriptionA.unsubscribe()

testObservable.sendMessage(2, 'World')

Package Sidebar

Install

npm i rxjs-lite

Weekly Downloads

0

Version

1.0.5

License

MIT

Unpacked Size

8.85 kB

Total Files

7

Last publish

Collaborators

  • machester4