Skip to content

Commit b487bbd

Browse files
authored
feat: Allow to skip sending service events (#1270)
1 parent 30da15a commit b487bbd

2 files changed

Lines changed: 27 additions & 1 deletion

File tree

packages/feathers/lib/events.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ const Proto = require('uberproto');
66
const eventHook = exports.eventHook = function eventHook () {
77
return function (hook) {
88
const { app, service } = hook;
9-
const eventName = app.eventMappings[hook.method];
9+
const eventName = hook.event === null ? hook.event : app.eventMappings[hook.method];
1010
const isHookEvent = service._hookEvents && service._hookEvents.indexOf(eventName) !== -1;
1111

1212
// If this event is not being sent yet and we are not in an error hook

packages/feathers/test/events.test.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,32 @@ describe('Service events', () => {
5656
service.create({ message: 'Hello' });
5757
});
5858

59+
it('allows to skip event emitting', done => {
60+
const app = feathers().use('/creator', {
61+
create (data) {
62+
return Promise.resolve(data);
63+
}
64+
});
65+
66+
const service = app.service('creator');
67+
68+
service.hooks({
69+
before: {
70+
create (context) {
71+
context.event = null;
72+
73+
return context;
74+
}
75+
}
76+
});
77+
78+
service.on('created', data => {
79+
done(new Error('Should never get here'));
80+
});
81+
82+
service.create({ message: 'Hello' }).then(() => done());
83+
});
84+
5985
it('.update and updated', done => {
6086
const app = feathers().use('/creator', {
6187
update (id, data) {

0 commit comments

Comments
 (0)