New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

xen-service

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

xen-service - npm Package Compare versions

Comparing version 0.1.1 to 0.1.2

27

example/interserviceDispatch.js

@@ -7,3 +7,3 @@ const { Observable } = require('rxjs/Observable');

const XenService = require('../source/XenService.js');
const { fetchAction } = require('../source/helpers.js');
const { fetchAction, devLog } = require('../source/helpers.js');

@@ -55,4 +55,3 @@ /**

// action JSON.
const createKoaServer = (service) => {
/* eslint-disable no-console */
const createKoaServer = service => {
const server = new koa();

@@ -62,3 +61,3 @@ server.use(koaLogger());

server.use((ctx, next) => {
console.log(`${service.name}:${service.options.serverPort}`);
devLog(`${service.name}:${service.options.serverPort}`);
if (ctx.originalUrl !== '/') {

@@ -78,6 +77,5 @@ throw new Error(`Endpoint ${ctx.originalUrl} not implemented.`);

server.listen(service.options.serverPort);
console.log(`${service.name} started on localhost:${service.options.serverPort}`);
devLog(`${service.name} started on localhost:${service.options.serverPort}`);
return service;
/* eslint-enable no-console */
};

@@ -251,4 +249,3 @@

carOwnersService$
).subscribe((services) => {
/* eslint-disable no-console */
).subscribe(() => {
// Cars.addCar

@@ -262,3 +259,3 @@ fetchAction('http://localhost:9000', {

}).do(responseAction => {
console.log('addCar', responseAction);
devLog('addCar', responseAction);
expect(responseAction.payload.plateNumber).to.equal('ABC-12345');

@@ -276,3 +273,3 @@ expect(responseAction.payload.carMake).to.equal('Dune Buggy');

}).do(responseAction => {
console.log('getCar', responseAction);
devLog('getCar', responseAction);
expect(responseAction.payload.plateNumber).to.equal('ABC-12345');

@@ -291,3 +288,3 @@ expect(responseAction.payload.carMake).to.equal('Dune Buggy');

}).do(responseAction => {
console.log('addDriver', responseAction);
devLog('addDriver', responseAction);
expect(responseAction.payload.driverLicenseNumber).to.equal('DL-987654321-0');

@@ -305,3 +302,3 @@ expect(responseAction.payload.fullname).to.equal('Gordon Freeman');

}).do(responseAction => {
console.log('getDriver', responseAction);
devLog('getDriver', responseAction);
expect(responseAction.payload.driverLicenseNumber).to.equal('DL-987654321-0');

@@ -320,3 +317,3 @@ expect(responseAction.payload.fullname).to.equal('Gordon Freeman');

}).do(responseAction => {
console.log('registerCarOwner', responseAction);
devLog('registerCarOwner', responseAction);
expect(responseAction.payload.driverLicenseNumber).to.equal('DL-987654321-0');

@@ -335,3 +332,3 @@ expect(responseAction.payload.plateNumber).to.equal('ABC-12345');

.do(responseAction => {
console.log('getCarOwner', responseAction);
devLog('getCarOwner', responseAction);
expect(responseAction.payload.driverLicenseNumber).to.equal('DL-987654321-0');

@@ -343,4 +340,4 @@ expect(responseAction.payload.fullname).to.equal('Gordon Freeman');

.subscribe(() => {
console.log('APPARENT SUCCESS');
devLog('APPARENT SUCCESS');
});
});
const XenService = require('../source/XenService.js');
const { devLog } = require('../source/helpers.js');

@@ -140,4 +141,3 @@ // Example of a dependency validator (see procedures in the service config)

getUser$.subscribe(newUserDocument => {
/* eslint-disable no-console */
console.log(newUserDocument);
devLog(newUserDocument);
});

@@ -144,0 +144,0 @@ });

{
"name": "xen-service",
"version": "0.1.1",
"version": "0.1.2",
"description": "Simple and flexible microservice library",

@@ -19,4 +19,4 @@ "main": "source/XenService.js",

"chai": "^3.5.0",
"eslint": "^3.10.2",
"mocha": "^3.1.2",
"eslint": "^3.12.2",
"mocha": "^3.2.0",
"sinon": "^1.17.6"

@@ -30,4 +30,4 @@ },

"node-fetch": "^1.6.3",
"rxjs": "^5.0.0-rc.3"
"rxjs": "^5.0.1"
}
}

@@ -25,3 +25,3 @@ const { Observable } = require('rxjs/Observable');

function createConnections(state, connectionCreators) {
function createConnections(state, connectionCreators = {}) {
// loop over and call each connection creator

@@ -45,11 +45,13 @@ const connectionStreams =

// merge newly created connections into state
return Observable.zip(
...connectionStreams,
(...connections) => Object.assign({}, state, {
connections: Object.assign({}, ...connections)
})
);
return connectionStreams.length === 0
? toObservable(state)
: Observable.zip(
...connectionStreams,
(...connections) => Object.assign({}, state, {
connections: Object.assign({}, ...connections)
})
);
}
function createModels(state, modelCreators) {
function createModels(state, modelCreators = {}) {
// loop over and call each model creator

@@ -76,11 +78,13 @@ const modelStreams =

// merge newly created models into state
return Observable.zip(
...modelStreams,
(...models) => Object.assign({}, state, {
models: Object.assign({}, ...models)
})
);
return modelStreams.length === 0
? toObservable(state)
: Observable.zip(
...modelStreams,
(...models) => Object.assign({}, state, {
models: Object.assign({}, ...models)
})
);
}
function createProcedures(state, procedures) {
function createProcedures(state, procedures = {}) {
return toObservable(Object.assign({}, state, {

@@ -95,4 +99,7 @@ procedures

// (state: XenServiceInstance) => Observable<(action: FSA) => Observable<FSA>>
function createDispatch(state, dispatchCreator) {
return toObservable((dispatchCreator || defaultDispatch)(state))
function createDispatch(
state,
dispatchCreator = defaultDispatch
) {
return toObservable((dispatchCreator)(state))
.map(dispatch => Object.assign({}, state, { dispatch }));

@@ -99,0 +106,0 @@ }

@@ -5,9 +5,12 @@ const { Observable } = require('rxjs/Observable');

function toObservable(connection) {
if (connection instanceof Promise) {
return Observable.fromPromise(connection);
} else if (connection instanceof Observable) {
return connection;
function toObservable(anything) {
if (
typeof anything === 'object' &&
typeof anything.then === 'function'
) {
return Observable.fromPromise(anything);
} else if (anything instanceof Observable) {
return anything;
} else {
return Observable.of(connection);
return Observable.of(anything);
}

@@ -34,3 +37,3 @@ }

.then(response => response.json())
.catch(error => {
.catch(() => {
/* eslint no-debugger: 1 */

@@ -43,6 +46,14 @@ // !TODO: add call toErrorAction

function devLog(...args) {
/* eslint-disable no-console */
if (process.env.NODE_ENV === 'development') {
console.log(...args);
}
}
module.exports = {
toResponseAction,
toObservable,
fetchAction
fetchAction,
devLog
};

@@ -18,3 +18,3 @@ /* eslint-env mocha */

connections: {
test: () => ({ something: sinon.spy() }),
test: () => ({ something() {}}),
testPromise: () => Promise.resolve({ something() {}}),

@@ -34,2 +34,20 @@ testObservable: () => Observable.of({ something() {}})

it('should create a valid empty service', done => {
const testService = createService({
name: 'Empty',
connections: {},
models: {},
procedures: {},
options: {}
});
testService.subscribe(service => {
expect(service.name).to.equal('Empty');
expect(service.connections).to.eql({});
expect(service.models).to.eql({});
expect(service.procedures).to.eql({});
expect(service.dispatch).to.be.a('function');
done();
});
});
it('should create a valid service object', done => {

@@ -36,0 +54,0 @@ const testService = createService(testConfig);

@@ -6,1 +6,2 @@ /* eslint-env mocha */

xdescribe('fetchAction', () => {});
xdescribe('devLog', () => {});

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc