@sorrell/cli-utilities 1.0.23 → 1.0.25

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.
@@ -0,0 +1,10 @@
1
+ import type ora from "ora";
2
+ /** The options object of {@link Ora}. */
3
+ export type FOraOptions = Extract<Parameters<typeof ora>[0], object>;
4
+ /**
5
+ * The `async` function or `Promise` passed to {@link Ora}.
6
+ *
7
+ * @typeParam Type - The type of the value returned by the task.
8
+ */
9
+ export type TOraTaskArgument<Type> = (() => Promise<Type>) | Promise<Type> | ((SetPersistText: ((In: string) => void)) => Promise<Type>);
10
+ //# sourceMappingURL=Ora.Types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Ora.Types.d.ts","sourceRoot":"","sources":["../Source/Ora.Types.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAE3B,yCAAyC;AACzC,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAErE;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,CAAC,IAAI,IAC3B,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GACrB,OAAO,CAAC,IAAI,CAAC,GACb,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /* File: Ora.Types.ts
2
+ * Author: Gage Sorrell <gage@sorrell.sh>
3
+ * Copyright: (c) 2026 Gage Sorrell
4
+ * License: MIT
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=Ora.Types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Ora.Types.js","sourceRoot":"","sources":["../Source/Ora.Types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,27 @@
1
+ import type { FOraOptions, TOraTaskArgument } from "./Ora.Types.js";
2
+ import { type TTryResult } from "@sorrell/utilities";
3
+ import { type Ora as IOra } from "ora";
4
+ /**
5
+ * Creates and starts an `Ora` instance with the given {@link Argument}.
6
+ *
7
+ * @param Argument - The options object.
8
+ *
9
+ * @returns An `Ora` instance with the specified options.
10
+ */
11
+ export declare function Ora(Argument: FOraOptions): IOra;
12
+ /**
13
+ * @deprecated Use {@link DoTask} instead.
14
+ *
15
+ * Executes an `async` function or `Promise` with a progress indicator.
16
+ *
17
+ * @typeParam Type - The type of the data to which the given {@link AsyncSource} resolves.
18
+ *
19
+ * @param AsyncSource - The `async` function or `Promise` whose state is conveyed
20
+ * by the returned instance of `Ora`.
21
+ * @param TaskDescription - The text to display in the `Ora` instance while the
22
+ * {@link AsyncSource} is pending.
23
+ *
24
+ * @returns The result of the {@link AsyncSource}, as a {@link TTryResult}.
25
+ */
26
+ export declare function OraTask<Type>(AsyncSource: TOraTaskArgument<Type>, TaskDescription: string): Promise<TTryResult<Type>>;
27
+ //# sourceMappingURL=Ora.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Ora.d.ts","sourceRoot":"","sources":["../Source/Ora.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,KAAK,UAAU,EAAoC,MAAM,oBAAoB,CAAC;AACvF,OAAY,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE,MAAM,KAAK,CAAC;AAE5C;;;;;;GAMG;AACH,wBAAgB,GAAG,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAoB/C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAC9B,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,EACnC,eAAe,EAAE,MAAM,GACxB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CA2C3B"}
@@ -0,0 +1,75 @@
1
+ /* File: Ora.ts
2
+ * Author: Gage Sorrell <gage@sorrell.sh>
3
+ * Copyright: (c) 2026 Gage Sorrell
4
+ * License: MIT
5
+ */
6
+ import { Try as TryAsync } from "@sorrell/utilities";
7
+ import ora from "ora";
8
+ /**
9
+ * Creates and starts an `Ora` instance with the given {@link Argument}.
10
+ *
11
+ * @param Argument - The options object.
12
+ *
13
+ * @returns An `Ora` instance with the specified options.
14
+ */
15
+ export function Ora(Argument) {
16
+ const DefaultOptions = {
17
+ hideCursor: true
18
+ };
19
+ const EnforcedOptions = {
20
+ spinner: "point"
21
+ };
22
+ const Options = {
23
+ ...DefaultOptions,
24
+ ...Argument,
25
+ ...EnforcedOptions
26
+ };
27
+ return ora(Options).start();
28
+ }
29
+ /**
30
+ * @deprecated Use {@link DoTask} instead.
31
+ *
32
+ * Executes an `async` function or `Promise` with a progress indicator.
33
+ *
34
+ * @typeParam Type - The type of the data to which the given {@link AsyncSource} resolves.
35
+ *
36
+ * @param AsyncSource - The `async` function or `Promise` whose state is conveyed
37
+ * by the returned instance of `Ora`.
38
+ * @param TaskDescription - The text to display in the `Ora` instance while the
39
+ * {@link AsyncSource} is pending.
40
+ *
41
+ * @returns The result of the {@link AsyncSource}, as a {@link TTryResult}.
42
+ */
43
+ export async function OraTask(AsyncSource, TaskDescription) {
44
+ const ThisOra = Ora({ text: TaskDescription });
45
+ let PersistText = undefined;
46
+ const SetPersistText = (In) => {
47
+ PersistText = In;
48
+ };
49
+ const OutAsyncSource = typeof AsyncSource === "function"
50
+ ? (AsyncSource.length > 0)
51
+ ? () => AsyncSource(SetPersistText)
52
+ : AsyncSource
53
+ : AsyncSource;
54
+ const Result = await TryAsync(OutAsyncSource);
55
+ if (Result.Error === undefined) {
56
+ if (PersistText !== undefined) {
57
+ ThisOra.succeed(PersistText);
58
+ }
59
+ else {
60
+ ThisOra.succeed();
61
+ }
62
+ }
63
+ else {
64
+ if (PersistText !== undefined) {
65
+ ThisOra.fail(PersistText);
66
+ console.error(Result.Error);
67
+ }
68
+ else {
69
+ ThisOra.fail();
70
+ console.error(Result.Error);
71
+ }
72
+ }
73
+ return Result;
74
+ }
75
+ //# sourceMappingURL=Ora.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Ora.js","sourceRoot":"","sources":["../Source/Ora.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAoC,GAAG,IAAI,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,GAAyB,MAAM,KAAK,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,CAAC,QAAqB;IAErC,MAAM,cAAc,GAChB;QACI,UAAU,EAAE,IAAI;KACnB,CAAC;IAEN,MAAM,eAAe,GACjB;QACI,OAAO,EAAE,OAAO;KACnB,CAAC;IAEN,MAAM,OAAO,GACT;QACI,GAAG,cAAc;QACjB,GAAG,QAAQ;QACX,GAAG,eAAe;KACrB,CAAC;IAEN,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;AAChC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CACzB,WAAmC,EACnC,eAAuB;IAGvB,MAAM,OAAO,GAAS,GAAG,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;IACrD,IAAI,WAAW,GAAuB,SAAS,CAAC;IAEhD,MAAM,cAAc,GAAG,CAAC,EAAU,EAAQ,EAAE;QAExC,WAAW,GAAG,EAAE,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,cAAc,GAAqB,OAAO,WAAW,KAAK,UAAU;QACtE,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;YACtB,CAAC,CAAC,GAAkB,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC;YAClD,CAAC,CAAE,WAAqC;QAC5C,CAAC,CAAC,WAAW,CAAC;IAElB,MAAM,MAAM,GAAqB,MAAM,QAAQ,CAAC,cAAc,CAAC,CAAC;IAChE,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAC9B,CAAC;QACG,IAAI,WAAW,KAAK,SAAS,EAC7B,CAAC;YACG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACjC,CAAC;aAED,CAAC;YACG,OAAO,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC;IACL,CAAC;SAED,CAAC;QACG,IAAI,WAAW,KAAK,SAAS,EAC7B,CAAC;YACG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;aAED,CAAC;YACG,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Print.d.ts","sourceRoot":"","sources":["../../Source/Print/Print.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAgBpD;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAG5C;AAED;;;;;;;;GAQG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGzC;AAED;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CAClB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,WAAW,GAAG,MAAM,CAY9B"}
1
+ {"version":3,"file":"Print.d.ts","sourceRoot":"","sources":["../../Source/Print/Print.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAgBpD;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAG5C;AAED;;;;;;;;GAQG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGzC;AAED;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CAClB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,WAAW,GACnB,MAAM,CAYR"}
@@ -1 +1 @@
1
- {"version":3,"file":"Print.js","sourceRoot":"","sources":["../../Source/Print/Print.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,OAAe;IAE/B,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,IAAI,CAAC,OAAe;IAEhC,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,IAAI,CAAC,IAAY;IAE7B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,MAAM,CAClB,OAAe,EACf,KAAkB;IAElB,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAE9B,MAAM,WAAW,GAAsB,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAE/D,KAAK,MAAM,CAAE,KAAK,EAAE,SAAS,CAAE,IAAI,WAAW,EAC9C,CAAC;QACG,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"Print.js","sourceRoot":"","sources":["../../Source/Print/Print.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,OAAe;IAE/B,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,IAAI,CAAC,OAAe;IAEhC,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,IAAI,CAAC,IAAY;IAE7B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,MAAM,CAClB,OAAe,EACf,KAAkB;IAGlB,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAE9B,MAAM,WAAW,GAAsB,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAE/D,KAAK,MAAM,CAAE,KAAK,EAAE,SAAS,CAAE,IAAI,WAAW,EAC9C,CAAC;QACG,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC"}
@@ -3,4 +3,6 @@ export * from "./Confirm.Types.js";
3
3
  export * from "./FileSelector.js";
4
4
  export * from "./FileSelector.Types.js";
5
5
  export * from "./Print/index.js";
6
+ export * from "./Ora.js";
7
+ export * from "./Ora.Types.js";
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../Source/index.ts"],"names":[],"mappings":"AAMA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../Source/index.ts"],"names":[],"mappings":"AAMA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC"}
@@ -8,4 +8,6 @@ export * from "./Confirm.Types.js";
8
8
  export * from "./FileSelector.js";
9
9
  export * from "./FileSelector.Types.js";
10
10
  export * from "./Print/index.js";
11
+ export * from "./Ora.js";
12
+ export * from "./Ora.Types.js";
11
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../Source/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../Source/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sorrell/cli-utilities",
3
- "version": "1.0.23",
3
+ "version": "1.0.25",
4
4
  "description": "Utilities for CLI tools.",
5
5
  "keywords": [
6
6
  "cli",
@@ -23,6 +23,14 @@
23
23
  "license": "MIT",
24
24
  "author": "Gage Sorrell <gage@sorrell.sh>",
25
25
  "type": "module",
26
+ "exports": {
27
+ ".": {
28
+ "default": "./Distribution/index.js",
29
+ "import": "./Distribution/index.js",
30
+ "require": "./Distribution/index.js",
31
+ "types": "./Distribution/index.d.ts"
32
+ }
33
+ },
26
34
  "main": "./Distribution/index.js",
27
35
  "types": "./Distribution/index.d.ts",
28
36
  "scripts": {
@@ -37,6 +45,7 @@
37
45
  "@inquirer/prompts": "^8.3.2",
38
46
  "@inquirer/type": "^4.0.4",
39
47
  "@sorrell/inquirer-file-selector": "^1.0.4",
48
+ "@sorrell/utilities": "^1.1.11",
40
49
  "chalk": "^5.6.2",
41
50
  "cli-table3": "^0.6.5",
42
51
  "clipboardy": "^5.3.1",