@visulima/pail 4.0.0-alpha.8 → 4.0.0

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.
Files changed (145) hide show
  1. package/CHANGELOG.md +531 -0
  2. package/LICENSE.md +270 -166
  3. package/README.md +53 -24
  4. package/dist/error.d.ts +95 -96
  5. package/dist/error.js +5 -76
  6. package/dist/index.browser.d.ts +568 -47
  7. package/dist/index.browser.js +19 -1499
  8. package/dist/index.server.d.ts +749 -65
  9. package/dist/index.server.js +32 -3179
  10. package/dist/middleware/elysia.d.ts +66 -63
  11. package/dist/middleware/elysia.js +1 -70
  12. package/dist/middleware/express.d.ts +74 -71
  13. package/dist/middleware/express.js +1 -29
  14. package/dist/middleware/fastify.d.ts +70 -67
  15. package/dist/middleware/fastify.js +1 -46
  16. package/dist/middleware/hono.d.ts +75 -72
  17. package/dist/middleware/hono.js +1 -33
  18. package/dist/middleware/next/handler.d.ts +102 -34
  19. package/dist/middleware/next/handler.js +1 -53
  20. package/dist/middleware/sveltekit.d.ts +101 -98
  21. package/dist/middleware/sveltekit.js +1 -43
  22. package/dist/object-tree.d.ts +67 -70
  23. package/dist/object-tree.js +2 -89
  24. package/dist/packem_shared/AbstractJsonReporter-Bp_JCrMQ.js +1 -0
  25. package/dist/packem_shared/AbstractJsonReporter-w_bGGiD-.js +1 -0
  26. package/dist/packem_shared/JsonReporter-Sd_lJGS-.js +2 -0
  27. package/dist/packem_shared/JsonReporter-bmem9lcg.js +1 -0
  28. package/dist/packem_shared/PailError-CbU1Ogfa.js +5 -0
  29. package/dist/packem_shared/PrettyReporter-CcDdPQSt.js +44 -0
  30. package/dist/packem_shared/PrettyReporter-DsHfKOU7.js +5 -0
  31. package/dist/packem_shared/abstract-json-reporter.d-wfESoEa-.d.ts +62 -0
  32. package/dist/packem_shared/abstract-pretty-reporter-DrLBJ6ds.js +57 -0
  33. package/dist/packem_shared/addKnownErrorConstructor-C1OJTj2D-0FlJMfXz.js +25 -0
  34. package/dist/packem_shared/constants-DKfCaSUR.js +1 -0
  35. package/dist/packem_shared/constants-ep2nsfdy.js +1 -0
  36. package/dist/packem_shared/create-middleware-logger.d-B-JmQ1Sl.d.ts +47 -0
  37. package/dist/packem_shared/headers-DH0H2s8W.js +1 -0
  38. package/dist/packem_shared/index-Q1764hvO.js +1 -0
  39. package/dist/packem_shared/index.d-T71KjNAr.d.ts +16 -0
  40. package/dist/packem_shared/pailMiddleware-B5DJoBYl.js +1 -0
  41. package/dist/packem_shared/serializeError-C-NFvZ8_-D0CA_Qlx.js +1 -0
  42. package/dist/packem_shared/storage-DaXAlpiO.js +1 -0
  43. package/dist/packem_shared/types.d-Cz9S7jZh.d.ts +201 -0
  44. package/dist/packem_shared/types.d-bWnqHJKL.d.ts +211 -0
  45. package/dist/packem_shared/types.d-xxE3FOD3.d.ts +229 -0
  46. package/dist/packem_shared/useLogger-DB34CuU5.js +1 -0
  47. package/dist/packem_shared/wide-event.d-D3ATYpoK.d.ts +717 -0
  48. package/dist/packem_shared/write-console-log-based-on-level-BqjxV016.js +1 -0
  49. package/dist/packem_shared/write-stream-C7jxLxIT.js +1 -0
  50. package/dist/processor/caller/caller-processor.d.ts +50 -47
  51. package/dist/processor/caller/caller-processor.js +1 -59
  52. package/dist/processor/environment-processor.d.ts +114 -113
  53. package/dist/processor/environment-processor.js +1 -78
  54. package/dist/processor/message-formatter-processor.d.ts +59 -49
  55. package/dist/processor/message-formatter-processor.js +1 -713
  56. package/dist/processor/opentelemetry-processor.d.ts +70 -66
  57. package/dist/processor/opentelemetry-processor.js +1 -52
  58. package/dist/processor/redact-processor.d.ts +99 -41
  59. package/dist/processor/redact-processor.js +1 -30
  60. package/dist/processor/sampling-processor.d.ts +103 -101
  61. package/dist/processor/sampling-processor.js +1 -59
  62. package/dist/reporter/file/json-file-reporter.d.ts +109 -42
  63. package/dist/reporter/file/json-file-reporter.js +2 -136
  64. package/dist/reporter/http/abstract-http-reporter.d.ts +256 -211
  65. package/dist/reporter/http/abstract-http-reporter.js +2 -435
  66. package/dist/reporter/http/http-reporter.d.ts +41 -36
  67. package/dist/reporter/http/http-reporter.edge-light.d.ts +487 -39
  68. package/dist/reporter/http/http-reporter.edge-light.js +2 -733
  69. package/dist/reporter/http/http-reporter.js +1 -13
  70. package/dist/reporter/json/index.browser.d.ts +98 -3
  71. package/dist/reporter/json/index.browser.js +1 -2
  72. package/dist/reporter/json/index.d.ts +53 -3
  73. package/dist/reporter/json/index.js +1 -2
  74. package/dist/reporter/pretty/index.browser.d.ts +105 -2
  75. package/dist/reporter/pretty/index.browser.js +1 -1
  76. package/dist/reporter/pretty/index.d.ts +270 -2
  77. package/dist/reporter/pretty/index.js +1 -1
  78. package/dist/reporter/simple/simple-reporter.server.d.ts +215 -18
  79. package/dist/reporter/simple/simple-reporter.server.js +8 -182
  80. package/dist/wide-event.d.ts +6 -300
  81. package/dist/wide-event.js +1 -281
  82. package/package.json +23 -38
  83. package/dist/constants.d.ts +0 -37
  84. package/dist/interactive/index.d.ts +0 -2
  85. package/dist/interactive/index.js +0 -2
  86. package/dist/interactive/interactive-manager.d.ts +0 -108
  87. package/dist/interactive/interactive-stream-hook.d.ts +0 -68
  88. package/dist/middleware/next/middleware.d.ts +0 -59
  89. package/dist/middleware/next/storage.d.ts +0 -14
  90. package/dist/middleware/shared/create-middleware-logger.d.ts +0 -82
  91. package/dist/middleware/shared/headers.d.ts +0 -14
  92. package/dist/middleware/shared/routes.d.ts +0 -30
  93. package/dist/middleware/shared/storage.d.ts +0 -29
  94. package/dist/packem_shared/AbstractJsonReporter-CGKHS8_M.js +0 -286
  95. package/dist/packem_shared/AbstractJsonReporter-DDjDkciI.js +0 -286
  96. package/dist/packem_shared/InteractiveManager-Cd6A14ZK.js +0 -172
  97. package/dist/packem_shared/InteractiveStreamHook-ePIURL_U.js +0 -133
  98. package/dist/packem_shared/JsonReporter-B3XX8GHN.js +0 -58
  99. package/dist/packem_shared/JsonReporter-p_BXg6Sj.js +0 -28
  100. package/dist/packem_shared/PrettyReporter-BYL3NrdA.js +0 -214
  101. package/dist/packem_shared/PrettyReporter-CvBn-hxP.js +0 -1459
  102. package/dist/packem_shared/Spinner-DIdVcfWq.js +0 -2183
  103. package/dist/packem_shared/abstract-pretty-reporter-jU8WL_6c.js +0 -2602
  104. package/dist/packem_shared/constants-B1RjD_ps.js +0 -99
  105. package/dist/packem_shared/constants-omsTHUWB.js +0 -119
  106. package/dist/packem_shared/createPailError-B11aRfrT.js +0 -76
  107. package/dist/packem_shared/getBarChar-BWj1UrH3.js +0 -404
  108. package/dist/packem_shared/headers-Cp4uLtr4.js +0 -123
  109. package/dist/packem_shared/index-DnkF86LQ.js +0 -658
  110. package/dist/packem_shared/index-frijFf5m.js +0 -1252
  111. package/dist/packem_shared/pailMiddleware-Ci88geIF.js +0 -24
  112. package/dist/packem_shared/storage-D0vqz8OX.js +0 -36
  113. package/dist/packem_shared/useLogger-D0rU3lcX.js +0 -33
  114. package/dist/packem_shared/write-console-log-based-on-level-DBmRYXpj.js +0 -14
  115. package/dist/packem_shared/write-stream-BG8fhcs3.js +0 -6
  116. package/dist/pail.browser.d.ts +0 -412
  117. package/dist/pail.server.d.ts +0 -233
  118. package/dist/processor/caller/get-caller-filename.d.ts +0 -23
  119. package/dist/progress-bar.d.ts +0 -136
  120. package/dist/progress-bar.js +0 -404
  121. package/dist/reporter/file/utils/rotating-file-stream.d.ts +0 -48
  122. package/dist/reporter/http/utils/compression.d.ts +0 -7
  123. package/dist/reporter/http/utils/log-size-error.d.ts +0 -30
  124. package/dist/reporter/http/utils/retry.d.ts +0 -27
  125. package/dist/reporter/json/abstract-json-reporter.d.ts +0 -61
  126. package/dist/reporter/json/json-reporter.browser.d.ts +0 -40
  127. package/dist/reporter/json/json-reporter.server.d.ts +0 -50
  128. package/dist/reporter/pretty/abstract-pretty-reporter.d.ts +0 -83
  129. package/dist/reporter/pretty/pretty-reporter.browser.d.ts +0 -36
  130. package/dist/reporter/pretty/pretty-reporter.server.d.ts +0 -70
  131. package/dist/reporter/raw/raw-reporter.browser.d.ts +0 -5
  132. package/dist/reporter/raw/raw-reporter.server.d.ts +0 -13
  133. package/dist/reporter/utils/default-inspector-config.d.ts +0 -3
  134. package/dist/reporter/utils/format-label.d.ts +0 -3
  135. package/dist/spinner.d.ts +0 -220
  136. package/dist/spinner.js +0 -2183
  137. package/dist/types.d.ts +0 -241
  138. package/dist/utils/ansi-escapes.d.ts +0 -4
  139. package/dist/utils/arrayify.d.ts +0 -2
  140. package/dist/utils/get-longest-badge.d.ts +0 -4
  141. package/dist/utils/get-longest-label.d.ts +0 -4
  142. package/dist/utils/merge-types.d.ts +0 -4
  143. package/dist/utils/stream/safe-stream-handler.d.ts +0 -21
  144. package/dist/utils/write-console-log-based-on-level.d.ts +0 -4
  145. package/dist/utils/write-stream.d.ts +0 -2
@@ -1,83 +0,0 @@
1
- import type { LiteralUnion } from "type-fest";
2
- import type { DefaultLogTypes, LoggerTypesAwareReporter, LoggerTypesConfig, ReadonlyMeta } from "../../types.d.ts";
3
- /**
4
- * Default date formatter for pretty reporters.
5
- *
6
- * Formats a Date object as HH:MM:SS (24-hour format).
7
- * @param date The date to format
8
- * @returns Formatted time string
9
- * @example
10
- * ```typescript
11
- * dateFormatter(new Date()); // "14:30:25"
12
- * ```
13
- */
14
- export declare const dateFormatter: (date: Date) => string;
15
- /**
16
- * Abstract Pretty Reporter.
17
- *
18
- * Base class for pretty-printing reporters that format log messages with colors,
19
- * styles, and structured layout. Provides common functionality for styling options
20
- * and logger type configuration.
21
- * @template T - Custom logger type names
22
- * @template L - Log level types
23
- * @example
24
- * ```typescript
25
- * class CustomPrettyReporter extends AbstractPrettyReporter {
26
- * public log(meta: ReadonlyMeta) {
27
- * const formatted = this.formatMessage(meta);
28
- * console.log(formatted);
29
- * }
30
- * }
31
- * ```
32
- */
33
- export declare abstract class AbstractPrettyReporter<T extends string = string, L extends string = string> implements LoggerTypesAwareReporter<T, L> {
34
- /** Styling options for pretty formatting */
35
- protected readonly styles: PrettyStyleOptions;
36
- /** Logger type configurations for styling */
37
- protected loggerTypes: LoggerTypesConfig<LiteralUnion<DefaultLogTypes, T>, L>;
38
- /**
39
- * Creates a new AbstractPrettyReporter instance.
40
- * @param options Styling options for pretty formatting
41
- * @protected
42
- */
43
- protected constructor(options: Partial<PrettyStyleOptions>);
44
- /**
45
- * Sets the logger types configuration for styling.
46
- * @param types Logger type configurations with colors and labels
47
- */
48
- setLoggerTypes(types: LoggerTypesConfig<LiteralUnion<DefaultLogTypes, T>, L>): void;
49
- /**
50
- * Logs a message with pretty formatting.
51
- * @param meta The log metadata to format and output
52
- * @abstract
53
- */
54
- abstract log(meta: ReadonlyMeta<L>): void;
55
- }
56
- /**
57
- * Options for configuring pretty reporter styling.
58
- */
59
- export type PrettyStyleOptions = {
60
- /** Bold styling options */
61
- bold: {
62
- /** Whether to bold the label text */
63
- label: boolean;
64
- };
65
- /** Function to format dates in log output */
66
- dateFormatter: (date: Date) => string;
67
- /** Maximum length of message before line break (optional) */
68
- messageLength: number | undefined;
69
- /** Underline styling options */
70
- underline: {
71
- /** Whether to underline the label */
72
- label: boolean;
73
- /** Whether to underline prefixes */
74
- prefix: boolean;
75
- /** Whether to underline suffixes */
76
- suffix: boolean;
77
- };
78
- /** Uppercase styling options */
79
- uppercase: {
80
- /** Whether to uppercase the label text */
81
- label: boolean;
82
- };
83
- };
@@ -1,36 +0,0 @@
1
- import type { ReadonlyMeta } from "../../types.d.ts";
2
- import type { PrettyStyleOptions } from "./abstract-pretty-reporter.d.ts";
3
- import { AbstractPrettyReporter } from "./abstract-pretty-reporter.d.ts";
4
- /**
5
- * Browser Pretty Reporter.
6
- *
7
- * A pretty-printing reporter for browser environments that formats log messages
8
- * with colors and structured layout for console output. Uses browser-compatible
9
- * color formatting and console APIs.
10
- * @template T - Custom logger type names
11
- * @template L - Log level types
12
- * @example
13
- * ```typescript
14
- * import { createPail } from "@visulima/pail";
15
- *
16
- * const logger = createPail({
17
- * reporters: [new PrettyReporter({
18
- * bold: { label: true },
19
- * uppercase: { label: true }
20
- * })]
21
- * });
22
- *
23
- * logger.info("Application started");
24
- * logger.error("Something went wrong", error);
25
- * ```
26
- */
27
- declare class PrettyReporter<T extends string = string, L extends string = string> extends AbstractPrettyReporter<T, L> {
28
- #private;
29
- /**
30
- * Creates a new Browser Pretty Reporter instance.
31
- * @param options Styling options for pretty formatting
32
- */
33
- constructor(options?: Partial<PrettyStyleOptions>);
34
- log(meta: ReadonlyMeta<L>): void;
35
- }
36
- export default PrettyReporter;
@@ -1,70 +0,0 @@
1
- import type { RenderErrorOptions } from "@visulima/error/error";
2
- import type { Options as InspectorOptions } from "@visulima/inspector";
3
- import type { LiteralUnion } from "type-fest";
4
- import type InteractiveManager from "../../interactive/interactive-manager.d.ts";
5
- import type { ExtendedRfc5424LogLevels, InteractiveStreamReporter, ReadonlyMeta } from "../../types.d.ts";
6
- import type { PrettyStyleOptions } from "./abstract-pretty-reporter.d.ts";
7
- import { AbstractPrettyReporter } from "./abstract-pretty-reporter.d.ts";
8
- /**
9
- * Options for configuring the Server Pretty Reporter.
10
- */
11
- export type PrettyReporterOptions = PrettyStyleOptions & {
12
- /** Error rendering options */
13
- error: Partial<Omit<RenderErrorOptions, "color" | "prefix" | "indentation">>;
14
- /** Object inspection options */
15
- inspect: Partial<InspectorOptions>;
16
- };
17
- /**
18
- * Server Pretty Reporter.
19
- *
20
- * A comprehensive pretty-printing reporter for Node.js server environments that
21
- * formats log messages with colors, structured layout, and advanced features like
22
- * error rendering, object inspection, and interactive terminal support.
23
- * @template T - Custom logger type names
24
- * @template L - Log level types
25
- * @example
26
- * ```typescript
27
- * import { createPail } from "@visulima/pail";
28
- *
29
- * const logger = createPail({
30
- * reporters: [new PrettyReporter({
31
- * bold: { label: true },
32
- * error: { color: { title: 'red' } }
33
- * })]
34
- * });
35
- *
36
- * logger.info("Server started on port 3000");
37
- * logger.error("Database error", dbError);
38
- * ```
39
- */
40
- export declare class PrettyReporter<T extends string = string, L extends string = string> extends AbstractPrettyReporter<T, L> implements InteractiveStreamReporter<L> {
41
- #private;
42
- /**
43
- * Creates a new Server Pretty Reporter instance.
44
- * @param options Configuration options for styling, error rendering, and object inspection
45
- */
46
- constructor(options?: Partial<PrettyReporterOptions>);
47
- /**
48
- * Sets the stdout stream for the reporter.
49
- * @param stdout_ The writable stream to use for standard output
50
- */
51
- setStdout(stdout_: NodeJS.WriteStream): void;
52
- /**
53
- * Sets the stderr stream for the reporter.
54
- * @param stderr_ The writable stream to use for error output
55
- */
56
- setStderr(stderr_: NodeJS.WriteStream): void;
57
- /**
58
- * Sets the interactive manager for handling interactive output.
59
- * @param manager The interactive manager instance, or undefined to disable
60
- */
61
- setInteractiveManager(manager?: InteractiveManager): void;
62
- /**
63
- * Enables or disables interactive mode.
64
- * @param interactive Whether to enable interactive terminal features
65
- */
66
- setIsInteractive(interactive: boolean): void;
67
- log(meta: ReadonlyMeta<L>): void;
68
- protected _formatMessage(data: ReadonlyMeta<L>): string;
69
- protected _log(message: string, logLevel: LiteralUnion<ExtendedRfc5424LogLevels, L>): void;
70
- }
@@ -1,5 +0,0 @@
1
- import type { ReadonlyMeta, Reporter } from "../../types.d.ts";
2
- declare class RawReporter<L extends string = string> implements Reporter<L> {
3
- log(meta: ReadonlyMeta<L>): void;
4
- }
5
- export default RawReporter;
@@ -1,13 +0,0 @@
1
- import type { Options as InspectorOptions } from "@visulima/inspector";
2
- import type InteractiveManager from "../../interactive/interactive-manager.d.ts";
3
- import type { ReadonlyMeta, StreamAwareReporter } from "../../types.d.ts";
4
- declare class RawReporter<L extends string = string> implements StreamAwareReporter<L> {
5
- #private;
6
- constructor(inspectOptions?: Partial<InspectorOptions>);
7
- setStdout(stdout_: NodeJS.WriteStream): void;
8
- setStderr(stderr_: NodeJS.WriteStream): void;
9
- setInteractiveManager(manager?: InteractiveManager): void;
10
- setIsInteractive(interactive: boolean): void;
11
- log(meta: ReadonlyMeta<L>): void;
12
- }
13
- export default RawReporter;
@@ -1,3 +0,0 @@
1
- import type { Options } from "@visulima/inspector";
2
- declare const defaultInspectorConfig: Partial<Options>;
3
- export default defaultInspectorConfig;
@@ -1,3 +0,0 @@
1
- import type { PrettyStyleOptions } from "../pretty/abstract-pretty-reporter.d.ts";
2
- declare const formatLabel: (label: string, styles: PrettyStyleOptions) => string;
3
- export default formatLabel;
package/dist/spinner.d.ts DELETED
@@ -1,220 +0,0 @@
1
- import type { SpinnerName } from "cli-spinners";
2
- import type InteractiveManager from "./interactive/interactive-manager.d.ts";
3
- /**
4
- * Spinner style configuration using colorize.
5
- */
6
- export interface SpinnerStyle {
7
- /** Background color name (e.g., "bgRed", "bgBlue") */
8
- bgColor?: string;
9
- /** Background color as hex (e.g., "#FF0000") */
10
- bgHex?: `#${string}`;
11
- /** Background color as RGB (e.g., [255, 0, 0]) */
12
- bgRgb?: [number, number, number];
13
- /** Apply bold style */
14
- bold?: boolean;
15
- /** Foreground color name (e.g., "red", "blue", "green") */
16
- color?: string;
17
- /** Apply dim/faint style */
18
- dim?: boolean;
19
- /** Foreground color as hex (e.g., "#FF0000") */
20
- hex?: `#${string}`;
21
- /** Apply inverse style (swap fg/bg) */
22
- inverse?: boolean;
23
- /** Apply italic style */
24
- italic?: boolean;
25
- /** Apply overline style */
26
- overline?: boolean;
27
- /** Foreground color as RGB (e.g., [255, 0, 0]) */
28
- rgb?: [number, number, number];
29
- /** Apply strikethrough style */
30
- strikethrough?: boolean;
31
- /** Apply underline style */
32
- underline?: boolean;
33
- }
34
- /**
35
- * Spinner completion icons.
36
- */
37
- export interface SpinnerIcons {
38
- /** Icon to show on failure (default: "✖") */
39
- error?: string;
40
- /** Icon to show on info (default: "ℹ") */
41
- info?: string;
42
- /** Icon to show on success (default: "✓") */
43
- success?: string;
44
- /** Icon to show on warning (default: "⚠") */
45
- warning?: string;
46
- }
47
- /**
48
- * Spinner style options.
49
- */
50
- export interface SpinnerOptions {
51
- /** Custom icons for completion states */
52
- icons?: SpinnerIcons;
53
- /** Name of the spinner from cli-spinners */
54
- name?: SpinnerName;
55
- /** Prefix text to show before the spinner */
56
- prefixText?: string;
57
- /** Style configuration for the spinner */
58
- style?: SpinnerStyle;
59
- /** Whether to output spinner (default: true) */
60
- verbose?: boolean;
61
- }
62
- /**
63
- * Options for starting a spinner.
64
- */
65
- export interface SpinnerStartOptions {
66
- /** Prefix text to show before the spinner */
67
- prefixText?: string;
68
- }
69
- /**
70
- * Spinner class for creating loading indicators in terminal applications.
71
- *
72
- * Provides an easy-to-use interface for displaying spinners with various styles
73
- * from the cli-spinners library. Works seamlessly with interactive terminal features.
74
- * @example
75
- * ```typescript
76
- * const spinner = new Spinner({ name: "dots" });
77
- * spinner.start("Loading...");
78
- * // ... do work ...
79
- * spinner.succeed("Done!");
80
- * ```
81
- */
82
- export declare class Spinner {
83
- #private;
84
- /**
85
- * Creates a new Spinner instance.
86
- * @param options Configuration options for the spinner
87
- * @param interactiveManager Optional interactive manager for terminal control
88
- */
89
- constructor(options?: SpinnerOptions, interactiveManager?: InteractiveManager);
90
- /**
91
- * Current elapsed time in milliseconds.
92
- */
93
- get elapsedTime(): number;
94
- /**
95
- * Get or set the spinner text.
96
- */
97
- get getText(): string;
98
- set text(value: string);
99
- /**
100
- * Get or set the prefix text.
101
- */
102
- get getPrefixText(): string;
103
- set prefixText(value: string);
104
- /**
105
- * Whether the spinner is currently active.
106
- */
107
- get isRunning(): boolean;
108
- /**
109
- * Set the interactive manager for interactive mode.
110
- * @internal
111
- */
112
- setInteractiveManager(manager?: InteractiveManager): void;
113
- /**
114
- * Set the multi spinner reference.
115
- * @internal
116
- */
117
- setMultiSpinner(multiSpinner?: MultiSpinner): void;
118
- /**
119
- * Start the spinner with optional text.
120
- * @param text Optional text to display
121
- * @param options
122
- * @param options.prefixText Optional prefix text to display
123
- * @returns The spinner instance for chaining
124
- */
125
- start(text?: string, options?: SpinnerStartOptions): this;
126
- /**
127
- * Stop the spinner with a success message.
128
- * @param text Optional success text
129
- */
130
- succeed(text?: string): void;
131
- /**
132
- * Stop the spinner with a failure message.
133
- * @param text Optional failure text
134
- */
135
- failed(text?: string): void;
136
- /**
137
- * Stop the spinner with a warning message.
138
- * @param text Optional warning text
139
- */
140
- warn(text?: string): void;
141
- /**
142
- * Stop the spinner with an info message.
143
- * @param text Optional info text
144
- */
145
- info(text?: string): void;
146
- /**
147
- * Pause the spinner without stopping it.
148
- */
149
- pause(): void;
150
- /**
151
- * Resume the spinner if it was paused.
152
- */
153
- resume(): void;
154
- /**
155
- * Get current frame output.
156
- * @internal
157
- */
158
- getFrameOutput(): string;
159
- }
160
- /**
161
- * Multi-Spinner class for managing multiple spinners concurrently.
162
- *
163
- * Allows displaying and updating multiple spinners simultaneously with
164
- * consistent formatting and management.
165
- * @example
166
- * ```typescript
167
- * const multiSpinner = new MultiSpinner({ name: "dots" });
168
- *
169
- * const spinner1 = multiSpinner.create("Task 1");
170
- * const spinner2 = multiSpinner.create("Task 2");
171
- *
172
- * spinner1.start();
173
- * spinner2.start();
174
- *
175
- * // ... do work ...
176
- *
177
- * spinner1.succeed();
178
- * spinner2.succeed();
179
- * multiSpinner.stop();
180
- * ```
181
- */
182
- export declare class MultiSpinner {
183
- #private;
184
- constructor(options?: SpinnerOptions, interactiveManager?: InteractiveManager);
185
- /**
186
- * Set the interactive manager for interactive mode.
187
- * @internal
188
- */
189
- setInteractiveManager(manager?: InteractiveManager): void;
190
- /**
191
- * Create a new spinner instance.
192
- * @param text Initial text for the spinner
193
- * @param options
194
- * @param options.prefixText Optional prefix text to display
195
- * @param options.style Optional style for the spinner
196
- * @param options.verbose Whether to output spinner (default: true)
197
- * @returns A new Spinner instance
198
- */
199
- create(text?: string, options?: SpinnerOptions): Spinner;
200
- /**
201
- * Remove a spinner from the multi-spinner manager.
202
- * @param spinner The spinner to remove
203
- * @returns True if the spinner was removed, false otherwise
204
- */
205
- remove(spinner: Spinner): boolean;
206
- /**
207
- * Stop all spinners.
208
- */
209
- stop(): void;
210
- /**
211
- * Clear all spinners without stopping them.
212
- */
213
- clear(): void;
214
- /**
215
- * Render all spinners.
216
- * @internal
217
- */
218
- renderAll(): void;
219
- }
220
- export type SpinnerType<T extends string = string, L extends string = string> = Record<T, L> & Spinner;