UNPKG

dev-to-git

Version:

A CLI to keep your dev.to posts in sync from a GIT project, using the CI provider of your choice

54 lines 2.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var dev_to_git_interface_1 = require("./dev-to-git.interface"); var chalk_1 = require("chalk"); exports.formatArticlePublishedStatuses = function (articlePublishedStatuses) { return articlePublishedStatuses .map(function (articleStatus) { if (articleStatus.updateStatus === dev_to_git_interface_1.UpdateStatus.FAILED_TO_EXTRACT_FRONT_MATTER) { return chalk_1.default.red("Article with ID \"" + articleStatus.articleId + "\" doesn't have a front matter correctly formatted"); } var baseText = "[" + (articleStatus.published ? 'PUBLISHED' : 'DRAFT') + "] Article \"" + articleStatus.articleTitle + "\" "; var text = ''; switch (articleStatus.updateStatus) { case dev_to_git_interface_1.UpdateStatus.ALREADY_UP_TO_DATE: text = chalk_1.default.blueBright(baseText + "is already up to date"); break; case dev_to_git_interface_1.UpdateStatus.ERROR: text = chalk_1.default.redBright(baseText + "encountered an error:\n" + ("Error name: \"" + articleStatus.error.name + "\"\n") + ("Error message: \"" + articleStatus.error.message + "\"\n") + ("Error stack: \"" + articleStatus.error.stack + "\"")); break; case dev_to_git_interface_1.UpdateStatus.UPDATED: if (articleStatus.published) { text = chalk_1.default.greenBright(baseText + "has been successfully updated"); } else { text = chalk_1.default.yellowBright(baseText + "has been successfully updated"); } break; default: throw new UnreachabelCase(articleStatus); } return text; }) .join("\n"); }; var UnreachabelCase = /** @class */ (function () { // tslint:disable-next-line:no-empty function UnreachabelCase(payload) { } return UnreachabelCase; }()); exports.logBuilder = function (options) { return function () { var messages = []; for (var _i = 0; _i < arguments.length; _i++) { messages[_i] = arguments[_i]; } if (!options.silent) { console.log.apply(console, messages); } }; }; //# sourceMappingURL=helpers.js.map