Remove stampit in favour of a factory function

This commit is contained in:
Stuart Taylor
2016-11-12 17:09:07 +00:00
parent 27d4671493
commit 16863d9641
3 changed files with 30 additions and 35 deletions

View File

@ -46,7 +46,7 @@ export default function createApp({
}) { }) {
const sagaOptions = { const sagaOptions = {
...sideSagaOptions, ...sideSagaOptions,
services: servicesCreator(null, serviceOptions) services: servicesCreator(serviceOptions)
}; };
const sagaMiddleware = createEpic( const sagaMiddleware = createEpic(

View File

@ -1,6 +1,5 @@
import { Observable, Disposable } from 'rx'; import { Observable, Disposable } from 'rx';
import Fetchr from 'fetchr'; import Fetchr from 'fetchr';
import stampit from 'stampit';
function callbackObserver(observer) { function callbackObserver(observer) {
return (err, res) => { return (err, res) => {
@ -13,36 +12,33 @@ function callbackObserver(observer) {
}; };
} }
export default function servicesCreator(options) {
export default stampit({ const services = new Fetchr(options);
init({ args: [ options ] }) { function readService$({ service: resource, params, config }) {
this.services = new Fetchr(options);
},
methods: {
readService$({ service: resource, params, config }) {
return Observable.create(observer => { return Observable.create(observer => {
this.services.read( services.read(
resource, resource,
params, params,
config, config,
callbackObserver(observer) callbackObserver(observer)
); );
return Disposable.create(() => observer.dispose()); return Disposable.create(() => observer.dispose());
}); });
}, }
createService$({ service: resource, params, body, config }) { function createService$({ service: resource, params, body, config }) {
return Observable.create(observer => { return Observable.create(observer => {
this.services.create( services.create(
resource, resource,
params, params,
body, body,
config, config,
callbackObserver(observer) callbackObserver(observer)
); );
return Disposable.create(() => observer.dispose()); return Disposable.create(() => observer.dispose());
}); });
} }
} return {
}); readService$,
createService$
};
}

View File

@ -117,7 +117,6 @@
"rx": "^4.0.0", "rx": "^4.0.0",
"sanitize-html": "^1.11.1", "sanitize-html": "^1.11.1",
"snyk": "^1.19.1", "snyk": "^1.19.1",
"stampit": "^2.1.1",
"store": "https://github.com/berkeleytrue/store.js.git#feature/noop-server", "store": "https://github.com/berkeleytrue/store.js.git#feature/noop-server",
"validator": "^6.0.0" "validator": "^6.0.0"
}, },