Нема описа

index.js 2.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. Object.defineProperty(exports, "help", {
  6. enumerable: true,
  7. get: function() {
  8. return help;
  9. }
  10. });
  11. const _packagejson = /*#__PURE__*/ _interop_require_default(require("../../../../package.json"));
  12. function _interop_require_default(obj) {
  13. return obj && obj.__esModule ? obj : {
  14. default: obj
  15. };
  16. }
  17. function help({ message , usage , commands , options }) {
  18. let indent = 2;
  19. // Render header
  20. console.log();
  21. console.log(`${_packagejson.default.name} v${_packagejson.default.version}`);
  22. // Render message
  23. if (message) {
  24. console.log();
  25. for (let msg of message.split("\n")){
  26. console.log(msg);
  27. }
  28. }
  29. // Render usage
  30. if (usage && usage.length > 0) {
  31. console.log();
  32. console.log("Usage:");
  33. for (let example of usage){
  34. console.log(" ".repeat(indent), example);
  35. }
  36. }
  37. // Render commands
  38. if (commands && commands.length > 0) {
  39. console.log();
  40. console.log("Commands:");
  41. for (let command of commands){
  42. console.log(" ".repeat(indent), command);
  43. }
  44. }
  45. // Render options
  46. if (options) {
  47. let groupedOptions = {};
  48. for (let [key, value] of Object.entries(options)){
  49. if (typeof value === "object") {
  50. groupedOptions[key] = {
  51. ...value,
  52. flags: [
  53. key
  54. ]
  55. };
  56. } else {
  57. groupedOptions[value].flags.push(key);
  58. }
  59. }
  60. console.log();
  61. console.log("Options:");
  62. for (let { flags , description , deprecated } of Object.values(groupedOptions)){
  63. if (deprecated) continue;
  64. if (flags.length === 1) {
  65. console.log(" ".repeat(indent + 4 /* 4 = "-i, ".length */ ), flags.slice().reverse().join(", ").padEnd(20, " "), description);
  66. } else {
  67. console.log(" ".repeat(indent), flags.slice().reverse().join(", ").padEnd(24, " "), description);
  68. }
  69. }
  70. }
  71. console.log();
  72. }