@coderich/autograph 0.13.49 → 0.13.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/data/Emitter.js +3 -3
- package/src/data/Resolver.js +3 -2
package/package.json
CHANGED
package/src/data/Emitter.js
CHANGED
|
@@ -27,8 +27,8 @@ class Emitter extends EventEmitter {
|
|
|
27
27
|
|
|
28
28
|
// Next functions are async and control the timing of the next phase
|
|
29
29
|
Promise.all(nextFuncs.sort(Emitter.sort).map((fn) => {
|
|
30
|
-
return new Promise((next) => {
|
|
31
|
-
Promise.resolve(fn(data, next));
|
|
30
|
+
return new Promise((next, err) => {
|
|
31
|
+
Promise.resolve().then(() => fn(data, next)).catch(err);
|
|
32
32
|
}).then((result) => {
|
|
33
33
|
if (result !== undefined) throw new AbortEarlyError(result);
|
|
34
34
|
}).catch(reject);
|
|
@@ -89,7 +89,7 @@ class Emitter extends EventEmitter {
|
|
|
89
89
|
} : (event, next) => {
|
|
90
90
|
if (arr.includes(`${event.query[prop]}`)) {
|
|
91
91
|
if (once) this.removeListener(eventName, wrapper);
|
|
92
|
-
return
|
|
92
|
+
return listener(event, next);
|
|
93
93
|
}
|
|
94
94
|
return next();
|
|
95
95
|
};
|
package/src/data/Resolver.js
CHANGED
|
@@ -2,6 +2,7 @@ const { graphql } = require('graphql');
|
|
|
2
2
|
const Boom = require('@hapi/boom');
|
|
3
3
|
const Util = require('@coderich/util');
|
|
4
4
|
const QueryResolver = require('../query/QueryResolver');
|
|
5
|
+
const AppService = require('../service/AppService');
|
|
5
6
|
const Emitter = require('./Emitter');
|
|
6
7
|
const Loader = require('./Loader');
|
|
7
8
|
const DataLoader = require('./DataLoader');
|
|
@@ -225,7 +226,7 @@ module.exports = class Resolver {
|
|
|
225
226
|
|
|
226
227
|
return this.#createSystemEvent(query, (tquery) => {
|
|
227
228
|
return thunk(tquery).then((result) => {
|
|
228
|
-
if (flags?.required && (result == null || result?.length === 0)) throw Boom.notFound();
|
|
229
|
+
if (flags?.required && (result == null || result?.length === 0)) throw Boom.notFound(`${model} Not Found`);
|
|
229
230
|
return result;
|
|
230
231
|
});
|
|
231
232
|
});
|
|
@@ -309,7 +310,6 @@ module.exports = class Resolver {
|
|
|
309
310
|
if (query.isMutation) await Promise.all([...query.input.$thunks, Emitter.emit('validate', event)]);
|
|
310
311
|
return thunk(tquery);
|
|
311
312
|
}).then((result) => {
|
|
312
|
-
event.doc ??= result; // Case of create
|
|
313
313
|
event.result = result; // backwards compat
|
|
314
314
|
query.result = result;
|
|
315
315
|
return Emitter.emit(`post${type}`, event);
|
|
@@ -328,6 +328,7 @@ module.exports = class Resolver {
|
|
|
328
328
|
query.toObject = () => query;
|
|
329
329
|
event.merged = event.input;
|
|
330
330
|
event.input = event.args?.input;
|
|
331
|
+
event.doc ??= {};
|
|
331
332
|
|
|
332
333
|
return event;
|
|
333
334
|
}
|