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 = {
...sideSagaOptions,
services: servicesCreator(null, serviceOptions)
services: servicesCreator(serviceOptions)
};
const sagaMiddleware = createEpic(

View File

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

View File

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