in src/diagnostic-channel-publishers/src/pg.pub.ts [177:207]
function patchCallback(cb?: PostgresCallback): PostgresCallback {
if (cb && cb[diagnosticOriginalFunc]) {
cb = cb[diagnosticOriginalFunc];
}
const trackingCallback = channel.bindToContext(function(err: Error, res: IPostgresResult): any {
const end = process.hrtime(start);
data.result = res && { rowCount: res.rowCount, command: res.command };
data.error = err;
data.duration = Math.ceil((end[0] * 1e3) + (end[1] / 1e6));
channel.publish("postgres", data);
if (err) {
if (cb) {
return cb.apply(this, arguments);
} else if (queryResult && queryResult instanceof EventEmitter) {
queryResult.emit("error", err);
}
} else if (cb) {
cb.apply(this, arguments);
}
});
try {
Object.defineProperty(trackingCallback, diagnosticOriginalFunc, { value: cb });
return trackingCallback;
} catch (e) {
// this should never happen, but bailout in case it does
return cb;
}
}