Skip to content

jack-guy/feathers-rx

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

feathers-rx

Build Status

Reactive API extensions for Feathers

About

feathers-rx turns a Feathers service call into an RxJS observables that automatically updates on real-time events.

Example

const feathers = require('feathers');
const memory = require('feathers-memory');
const rx = require('feathers-rx');

const app = feathers()
  .configure(rx())
  .use('/messages', memory());

const messages = app.service('messages');

messages.create({
  text: 'A test message'
}).debounce(0).first().subscribe(() => {
  // Get a specific message with id 10. Emit the message data once it resolves
  // and every time it changes e.g. through an updated or patched event
  messages.get(0).subscribe(message => console.log('My message', message));

  // Find all messages and emit a new list every time anything changes
  messages.find().subscribe(messages => console.log('Message list', messages));

  setTimeout(() => {
    messages.create({ text: 'Another message' }).then(() =>
      setTimeout(() => messages.patch(0, { text: 'Updated message' }), 1000)
    );
  }, 1000);
});

Will output:

My message { text: 'A test message', id: 0 }
Message list [ { text: 'A test message', id: 0 } ]
Message list [ { text: 'A test message', id: 0 },
  { text: 'Another message', id: 1 } ]
My message { text: 'Updated message', id: 0 }
Message list [ { text: 'Updated message', id: 0 },
  { text: 'Another message', id: 1 } ]

Changelog

0.1.0

  • Initial release

License

Copyright (c) 2016

Licensed under the MIT license.

About

Reactive API extensions for Feathers services

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 100.0%