Files
freeCodeCamp/client/src/redux/createServices.js
2018-09-30 12:42:40 +01:00

42 lines
918 B
JavaScript

import { Observable } from 'rxjs';
import Fetchr from 'fetchr';
function callbackObserver(observer) {
return (err, res) => {
if (err) {
return observer.error(err);
}
observer.next(res);
return observer.complete();
};
}
export default function servicesCreator(options) {
const services = new Fetchr(options);
return {
readService$({ service: resource, params = {} }) {
return Observable.create(observer =>
services
.read(resource)
.params(params)
.end(callbackObserver(observer))
);
}
};
}
// createService$({ service: resource, params, body, config }) {
// return Observable.create(observer => {
// services.create(
// resource,
// params,
// body,
// config,
// callbackObserver(observer)
// );
// return Subscription.create(() => observer.dispose());
// });
// }