@awsless/clui 0.0.7 → 0.0.8

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.
package/dist/index.cjs CHANGED
@@ -235,21 +235,31 @@ var list = (title, data) => {
235
235
  );
236
236
  };
237
237
  var task = async (opts) => {
238
- let last;
238
+ let initialMessage = opts.initialMessage;
239
+ let successMessage = opts.successMessage;
240
+ let errorMessage = opts.errorMessage;
239
241
  const spin = (0, import_prompts3.spinner)();
240
242
  spin.start(opts.initialMessage);
241
243
  const stop = (message3, code) => {
242
- spin.stop(truncate(message3 ?? last ?? opts.initialMessage, process.stdout.columns - 6 - endMargin), code);
244
+ spin.stop(truncate(message3 ?? initialMessage, process.stdout.columns - 6 - endMargin), code);
243
245
  };
244
246
  try {
245
- const result = await opts.task((m) => {
246
- spin.message(truncate(m, process.stdout.columns - 6 - endMargin));
247
- last = m;
247
+ const result = await opts.task({
248
+ updateMessage(m) {
249
+ spin.message(truncate(m, process.stdout.columns - 6 - endMargin));
250
+ initialMessage = m;
251
+ },
252
+ updateSuccessMessage(m) {
253
+ successMessage = m;
254
+ },
255
+ updateErrorMessage(m) {
256
+ errorMessage = m;
257
+ }
248
258
  });
249
- stop(opts.successMessage);
259
+ stop(successMessage);
250
260
  return result;
251
261
  } catch (error3) {
252
- stop(opts.errorMessage, 2);
262
+ stop(errorMessage, 2);
253
263
  throw error3;
254
264
  }
255
265
  };
package/dist/index.d.cts CHANGED
@@ -54,7 +54,11 @@ type TaskOptions<T> = {
54
54
  initialMessage: string;
55
55
  errorMessage?: string;
56
56
  successMessage?: string;
57
- task: (updateMessage: (message: string) => void) => Promise<T>;
57
+ task: (context: {
58
+ updateMessage: (message: string) => void;
59
+ updateErrorMessage: (message: string) => void;
60
+ updateSuccessMessage: (message: string) => void;
61
+ }) => Promise<T>;
58
62
  };
59
63
  declare const task: <T>(opts: TaskOptions<T>) => Promise<T>;
60
64
  declare const table: (props: {
package/dist/index.d.ts CHANGED
@@ -54,7 +54,11 @@ type TaskOptions<T> = {
54
54
  initialMessage: string;
55
55
  errorMessage?: string;
56
56
  successMessage?: string;
57
- task: (updateMessage: (message: string) => void) => Promise<T>;
57
+ task: (context: {
58
+ updateMessage: (message: string) => void;
59
+ updateErrorMessage: (message: string) => void;
60
+ updateSuccessMessage: (message: string) => void;
61
+ }) => Promise<T>;
58
62
  };
59
63
  declare const task: <T>(opts: TaskOptions<T>) => Promise<T>;
60
64
  declare const table: (props: {
package/dist/index.js CHANGED
@@ -206,21 +206,31 @@ var list = (title, data) => {
206
206
  );
207
207
  };
208
208
  var task = async (opts) => {
209
- let last;
209
+ let initialMessage = opts.initialMessage;
210
+ let successMessage = opts.successMessage;
211
+ let errorMessage = opts.errorMessage;
210
212
  const spin = spinner();
211
213
  spin.start(opts.initialMessage);
212
214
  const stop = (message3, code) => {
213
- spin.stop(truncate(message3 ?? last ?? opts.initialMessage, process.stdout.columns - 6 - endMargin), code);
215
+ spin.stop(truncate(message3 ?? initialMessage, process.stdout.columns - 6 - endMargin), code);
214
216
  };
215
217
  try {
216
- const result = await opts.task((m) => {
217
- spin.message(truncate(m, process.stdout.columns - 6 - endMargin));
218
- last = m;
218
+ const result = await opts.task({
219
+ updateMessage(m) {
220
+ spin.message(truncate(m, process.stdout.columns - 6 - endMargin));
221
+ initialMessage = m;
222
+ },
223
+ updateSuccessMessage(m) {
224
+ successMessage = m;
225
+ },
226
+ updateErrorMessage(m) {
227
+ errorMessage = m;
228
+ }
219
229
  });
220
- stop(opts.successMessage);
230
+ stop(successMessage);
221
231
  return result;
222
232
  } catch (error3) {
223
- stop(opts.errorMessage, 2);
233
+ stop(errorMessage, 2);
224
234
  throw error3;
225
235
  }
226
236
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awsless/clui",
3
- "version": "0.0.7",
3
+ "version": "0.0.8",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "repository": {
@@ -32,8 +32,9 @@
32
32
  "wrap-ansi": "^9.0.0"
33
33
  },
34
34
  "scripts": {
35
- "prompts": "deno run --unstable-sloppy-imports --allow-env ./demo/prompts.ts",
36
- "logs": "deno run --unstable-sloppy-imports --allow-env ./demo/logs.ts",
35
+ "bug": "bun ./demo/bug.ts",
36
+ "prompts": "bun ./demo/prompts.ts",
37
+ "logs": "bun ./demo/logs.ts",
37
38
  "test": "pnpm code test",
38
39
  "build": "pnpm tsup src/index.ts --format cjs,esm --dts --clean",
39
40
  "prepublish": "if pnpm test; then pnpm build; else exit; fi"