2021-01-08 15:06:14 +01:00

55 lines
1.2 KiB
JavaScript

'use strict';
const chalk = require('chalk');
const consoleLog = (message) => {
console.log(message); // eslint-disable-line no-console
};
const writeMessage = (title, message) => {
let line = '';
while (line.length < 56 - title.length) {
line = `${line}-`;
}
consoleLog(' ');
consoleLog(chalk.yellow(` ${title} ${line}`));
consoleLog(' ');
if (message) {
consoleLog(` ${message.split('\n').join('\n ')}`);
}
consoleLog(' ');
};
class ServerlessError extends Error {
constructor(message, code) {
super(message);
this.code = code;
Error.captureStackTrace(this, this.constructor); // Not needed in Node.js v8+
}
}
Object.defineProperty(ServerlessError.prototype, 'name', {
value: ServerlessError.name,
configurable: true,
writable: true,
});
module.exports.ServerlessError = ServerlessError;
// Deprecated - use ServerlessError instead
module.exports.SError = ServerlessError;
module.exports.logWarning = (message) => {
if (process.env.SLS_WARNING_DISABLE) {
return;
}
writeMessage('Serverless Warning', message);
};
module.exports.logInfo = (message) => {
writeMessage('Serverless Information', message);
};