@argodigital/qq-shared
Version:
Shared code for QQ projects
33 lines (32 loc) • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var logger_1 = require("../logger");
var iopipe_1 = require("@iopipe/iopipe");
var ioPipeEnabled = 'true' !== process.env.DISABLE_IOPIPE;
function scheduledwrapper(fn) {
return function (event, context, callback) {
var log = logger_1.logger(context);
if (ioPipeEnabled) {
iopipe_1.metric('region', process.env.AWS_REGION);
iopipe_1.metric('revision', process.env.REVISION);
iopipe_1.metric('stage', process.env.STAGE);
}
function success(result) {
if (ioPipeEnabled) {
iopipe_1.label('valid');
}
return callback(null, result);
}
function error(error) {
log.error('Error', error, event);
if (ioPipeEnabled) {
iopipe_1.label('error');
iopipe_1.metric('error', error);
}
return callback(error);
}
var props = { success: success, error: error, log: log, event: event };
return fn(props);
};
}
exports.scheduledwrapper = scheduledwrapper;