@wocker/utils 2.0.1-beta.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.promptConfirm = void 0;
13
13
  const core_1 = require("@inquirer/core");
14
14
  const validatePrompt_1 = require("../validation/validatePrompt");
15
+ const prepareMessage_1 = require("../tools/prepareMessage");
15
16
  exports.promptConfirm = (0, core_1.createPrompt)((config, done) => {
16
17
  const { message = "Confirm", default: defaultValue = false } = config;
17
18
  const [status, setStatus] = (0, core_1.useState)("idle"), [inputValue, setInputValue] = (0, core_1.useState)(""), [error, setError] = (0, core_1.useState)(""), icon = (0, core_1.usePrefix)({ status });
@@ -27,7 +28,11 @@ exports.promptConfirm = (0, core_1.createPrompt)((config, done) => {
27
28
  }
28
29
  return defaultValue;
29
30
  }, [inputValue, defaultValue]);
30
- const theme = (0, core_1.makeTheme)({}, config.theme);
31
+ const theme = (0, core_1.makeTheme)({
32
+ style: {
33
+ message: prepareMessage_1.prepareMessage
34
+ }
35
+ }, config.theme);
31
36
  (0, core_1.useKeypress)((key, readline) => __awaiter(void 0, void 0, void 0, function* () {
32
37
  setStatus("idle");
33
38
  setError("");
@@ -62,9 +67,8 @@ exports.promptConfirm = (0, core_1.createPrompt)((config, done) => {
62
67
  return [
63
68
  [
64
69
  `${icon} `,
65
- theme.style.message(message, status),
66
- " ",
67
- theme.style.defaultAnswer(config.default ? "Y/n" : "y/N"),
70
+ theme.style.message(message, status, "?"),
71
+ theme.style.defaultAnswer(typeof config.default === "boolean" ? (config.default ? "Y/n" : "y/N") : "y/n"),
68
72
  " ",
69
73
  inputValue
70
74
  ].join(""),
@@ -8,27 +8,18 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
11
  Object.defineProperty(exports, "__esModule", { value: true });
15
12
  exports.promptInput = void 0;
16
13
  const core_1 = require("@inquirer/core");
17
- const yoctocolors_cjs_1 = __importDefault(require("yoctocolors-cjs"));
18
14
  const validatePrompt_1 = require("../validation/validatePrompt");
15
+ const prepareMessage_1 = require("../tools/prepareMessage");
16
+ const prepareValue_1 = require("../tools/prepareValue");
19
17
  exports.promptInput = (0, core_1.createPrompt)((config, done) => {
20
18
  const { message = "Input", type = "text", step = 1, prefix = "", suffix = "", default: defaultValue } = config;
21
19
  const theme = (0, core_1.makeTheme)({
22
20
  style: {
23
- message: (message) => `${theme.style.highlight(message + ": ")}`,
24
- value: (value, status) => {
25
- switch (status) {
26
- case "error":
27
- return yoctocolors_cjs_1.default.red(value);
28
- default:
29
- return value;
30
- }
31
- }
21
+ message: prepareMessage_1.prepareMessage,
22
+ value: prepareValue_1.prepareValue
32
23
  }
33
24
  }, config.theme);
34
25
  const [inputValue = "", setInputValue] = (0, core_1.useState)(typeof defaultValue === "number" ? defaultValue.toString() : defaultValue), [status, setStatus] = (0, core_1.useState)("idle"), [error, setError] = (0, core_1.useState)("");
@@ -19,23 +19,14 @@ const ansi_escapes_1 = __importDefault(require("ansi-escapes"));
19
19
  const yoctocolors_cjs_1 = __importDefault(require("yoctocolors-cjs"));
20
20
  const tools_1 = require("../tools");
21
21
  const validatePrompt_1 = require("../validation/validatePrompt");
22
+ const prepareMessage_1 = require("../tools/prepareMessage");
23
+ const prepareValue_1 = require("../tools/prepareValue");
22
24
  const selectView = (config, done) => {
23
25
  const { message = "Select", multiple, pageSize = 5, options: rawOptions = [] } = config;
24
26
  const theme = (0, core_1.makeTheme)({
25
27
  style: {
26
- message: (message) => yoctocolors_cjs_1.default.bold(`${message}: `),
27
- value: (value, status) => {
28
- switch (status) {
29
- case "selected":
30
- return yoctocolors_cjs_1.default.green(value);
31
- case "active":
32
- return yoctocolors_cjs_1.default.blue(value);
33
- case "done":
34
- return yoctocolors_cjs_1.default.cyan(value);
35
- default:
36
- return value;
37
- }
38
- }
28
+ message: prepareMessage_1.prepareMessage,
29
+ value: prepareValue_1.prepareValue
39
30
  }
40
31
  }, config.theme);
41
32
  const options = (0, core_1.useMemo)(() => {
@@ -0,0 +1,2 @@
1
+ import { Status } from "@inquirer/core";
2
+ export declare const prepareMessage: (message: string, _: Status, ending?: string) => string;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.prepareMessage = void 0;
7
+ const yoctocolors_cjs_1 = __importDefault(require("yoctocolors-cjs"));
8
+ const prepareMessage = (message, _, ending = ":") => {
9
+ message = message.trim();
10
+ if (!/[?:.!,;]$/.test(message)) {
11
+ message += ending;
12
+ }
13
+ return yoctocolors_cjs_1.default.bold(message) + " ";
14
+ };
15
+ exports.prepareMessage = prepareMessage;
@@ -0,0 +1,2 @@
1
+ import { Status } from "@inquirer/core";
2
+ export declare const prepareValue: (value: string, status: Status) => string;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.prepareValue = void 0;
7
+ const yoctocolors_cjs_1 = __importDefault(require("yoctocolors-cjs"));
8
+ const prepareValue = (value, status) => {
9
+ switch (status) {
10
+ case "selected":
11
+ return yoctocolors_cjs_1.default.green(value);
12
+ case "active":
13
+ return yoctocolors_cjs_1.default.blue(value);
14
+ case "done":
15
+ return yoctocolors_cjs_1.default.cyan(value);
16
+ default:
17
+ return value;
18
+ }
19
+ };
20
+ exports.prepareValue = prepareValue;
@@ -1,6 +1,7 @@
1
1
  import { Theme as InquirerTheme, Status } from "@inquirer/core";
2
2
  export type Theme<T extends object = object> = InquirerTheme<T & {
3
3
  style: {
4
+ message: (message: string, status: Status, ending?: string) => string;
4
5
  value: (value: string, status: Status) => string;
5
6
  };
6
7
  }>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wocker/utils",
3
- "version": "2.0.1-beta.0",
3
+ "version": "2.0.1",
4
4
  "author": "Kris Papercut <krispcut@gmail.com>",
5
5
  "description": "Utils for @wocker",
6
6
  "license": "MIT",