bkper 4.0.0 → 4.0.2

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 (52) hide show
  1. package/CHANGELOG.md +48 -28
  2. package/README.md +394 -217
  3. package/lib/bkper-factory.d.ts.map +1 -1
  4. package/lib/bkper-factory.js +5 -0
  5. package/lib/bkper-factory.js.map +1 -1
  6. package/lib/cli.js +105 -37
  7. package/lib/cli.js.map +1 -1
  8. package/lib/commands/accounts/create.d.ts.map +1 -1
  9. package/lib/commands/accounts/create.js +16 -5
  10. package/lib/commands/accounts/create.js.map +1 -1
  11. package/lib/commands/accounts/update.d.ts.map +1 -1
  12. package/lib/commands/accounts/update.js +13 -5
  13. package/lib/commands/accounts/update.js.map +1 -1
  14. package/lib/commands/balances/index.d.ts +1 -1
  15. package/lib/commands/balances/index.d.ts.map +1 -1
  16. package/lib/commands/balances/index.js +1 -1
  17. package/lib/commands/balances/index.js.map +1 -1
  18. package/lib/commands/balances/{get.d.ts → list.d.ts} +3 -3
  19. package/lib/commands/balances/list.d.ts.map +1 -0
  20. package/lib/commands/balances/{get.js → list.js} +2 -2
  21. package/lib/commands/balances/list.js.map +1 -0
  22. package/lib/commands/books/create.d.ts.map +1 -1
  23. package/lib/commands/books/create.js +10 -2
  24. package/lib/commands/books/create.js.map +1 -1
  25. package/lib/commands/books/update.d.ts.map +1 -1
  26. package/lib/commands/books/update.js +13 -5
  27. package/lib/commands/books/update.js.map +1 -1
  28. package/lib/commands/groups/create.d.ts.map +1 -1
  29. package/lib/commands/groups/create.js +16 -5
  30. package/lib/commands/groups/create.js.map +1 -1
  31. package/lib/commands/groups/update.d.ts.map +1 -1
  32. package/lib/commands/groups/update.js +13 -5
  33. package/lib/commands/groups/update.js.map +1 -1
  34. package/lib/commands/transactions/create.d.ts.map +1 -1
  35. package/lib/commands/transactions/create.js +23 -7
  36. package/lib/commands/transactions/create.js.map +1 -1
  37. package/lib/commands/transactions/merge.d.ts.map +1 -1
  38. package/lib/commands/transactions/merge.js +6 -2
  39. package/lib/commands/transactions/merge.js.map +1 -1
  40. package/lib/commands/transactions/update.d.ts.map +1 -1
  41. package/lib/commands/transactions/update.js +23 -7
  42. package/lib/commands/transactions/update.js.map +1 -1
  43. package/lib/render/table-formatter.d.ts.map +1 -1
  44. package/lib/render/table-formatter.js +22 -4
  45. package/lib/render/table-formatter.js.map +1 -1
  46. package/lib/utils/validation.d.ts +38 -0
  47. package/lib/utils/validation.d.ts.map +1 -0
  48. package/lib/utils/validation.js +46 -0
  49. package/lib/utils/validation.js.map +1 -0
  50. package/package.json +2 -2
  51. package/lib/commands/balances/get.d.ts.map +0 -1
  52. package/lib/commands/balances/get.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"table-formatter.d.ts","sourceRoot":"","sources":["../../src/render/table-formatter.ts"],"names":[],"mappings":"AAiBA;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,GAAG,MAAM,CAsDvD;AAoID;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAUhE"}
1
+ {"version":3,"file":"table-formatter.d.ts","sourceRoot":"","sources":["../../src/render/table-formatter.ts"],"names":[],"mappings":"AAyBA;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,GAAG,MAAM,CAkEvD;AAoID;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAUhE"}
@@ -1,9 +1,16 @@
1
1
  /**
2
2
  * Maximum width for any single cell value.
3
3
  * Values exceeding this width are truncated with an ellipsis (…).
4
- * Header cells are never truncated.
4
+ * Header cells and ID columns are never truncated.
5
5
  */
6
6
  const MAX_CELL_WIDTH = 40;
7
+ /**
8
+ * Checks whether a column header indicates an ID column.
9
+ * ID columns should never be truncated so users can copy-paste values into subsequent commands.
10
+ */
11
+ function isIdColumn(header) {
12
+ return header === 'ID' || header.endsWith(' Id') || header.endsWith('Id');
13
+ }
7
14
  /**
8
15
  * Truncates a string to maxWidth, appending '…' if it exceeds the limit.
9
16
  */
@@ -30,11 +37,22 @@ export function formatTable(matrix) {
30
37
  return '';
31
38
  }
32
39
  const COL_GAP = ' ';
40
+ // Determine which columns are ID columns (never truncated)
41
+ const headerRow = matrix[0];
42
+ const noTruncateCols = new Set();
43
+ for (let i = 0; i < headerRow.length; i++) {
44
+ const header = headerRow[i] == null ? '' : String(headerRow[i]);
45
+ if (isIdColumn(header)) {
46
+ noTruncateCols.add(i);
47
+ }
48
+ }
33
49
  // Convert all cells to strings
34
- const rows = matrix.map((row, rowIndex) => row.map(cell => {
50
+ const rows = matrix.map((row, rowIndex) => row.map((cell, colIndex) => {
35
51
  const str = cell == null ? '' : String(cell);
36
- // Don't truncate header row
37
- return rowIndex === 0 ? str : truncateCell(str, MAX_CELL_WIDTH);
52
+ // Don't truncate header row or ID columns
53
+ return rowIndex === 0 || noTruncateCols.has(colIndex)
54
+ ? str
55
+ : truncateCell(str, MAX_CELL_WIDTH);
38
56
  }));
39
57
  const headers = rows[0];
40
58
  const dataRows = rows.slice(1);
@@ -1 +1 @@
1
- {"version":3,"file":"table-formatter.js","sourceRoot":"","sources":["../../src/render/table-formatter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B;;GAEG;AACH,SAAS,YAAY,CAAC,KAAa,EAAE,QAAgB;IACjD,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;AAC9C,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,WAAW,CAAC,MAAmB;IAC3C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC;IAErB,+BAA+B;IAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CACtC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACX,MAAM,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7C,4BAA4B;QAC5B,OAAO,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IACpE,CAAC,CAAC,CACL,CAAC;IAEF,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAEhC,iCAAiC;IACjC,MAAM,SAAS,GAAa,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACtC,IAAI,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzB,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;YAC3B,CAAC;QACL,CAAC;IACL,CAAC;IAED,qBAAqB;IACrB,MAAM,SAAS,GAAG,CAAC,GAAa,EAAU,EAAE;QACxC,OAAO,GAAG;aACL,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACb,4BAA4B;YAC5B,IAAI,CAAC,KAAK,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC;aACD,IAAI,CAAC,OAAO,CAAC;aACb,OAAO,EAAE,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAElD,MAAM,KAAK,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,SAAS,OAAO,CAAC,KAAc;IAC3B,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5D,IACI,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,KAAgC,CAAC,CAAC,MAAM,KAAK,CAAC;QAE1D,OAAO,IAAI,CAAC;IAChB,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,KAAc;IAC/B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;AACvD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,aAAa,CAAC,OAA4B,EAAE,MAAc;IAC/D,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,yDAAyD;IACzD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAElE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QACjC,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC;YAC/B,MAAM,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC;YAClC,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;gBAC1B,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;oBACvB,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,KAAK,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACrD,CAAC;qBAAM,CAAC;oBACJ,mEAAmE;oBACnE,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,OAAkC,CAAC,CAAC,MAAM,CACxE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CACzB,CAAC;oBACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;wBAAE,SAAS;oBAEtC,+BAA+B;oBAC/B,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;oBAC7C,MAAM,gBAAgB,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAE7C,4CAA4C;oBAC5C,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;oBACxE,MAAM,UAAU,GAAG,GAAG,QAAQ,GAAG,CAAC,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;oBAE/D,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC1B,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,KAAK,UAAU,KAAK,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;oBACvE,CAAC;yBAAM,CAAC;wBACJ,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,KAAK,QAAQ,GAAG,CAAC,CAAC;wBAC3C,2CAA2C;wBAC3C,MAAM,WAAW,GAAG,iBAAiB,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC;wBACtE,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;oBAC/B,CAAC;oBAED,+EAA+E;oBAC/E,MAAM,WAAW,GAAG,WAAW,GAAG,IAAI,CAAC;oBACvC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;wBAC5C,IAAI,OAAO,CAAC,MAAM,CAAC;4BAAE,SAAS;wBAC9B,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;4BACtB,MAAM,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;4BACvD,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,GAAG,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBAC7D,CAAC;6BAAM,CAAC;4BACJ,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC;4BACrC,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC;4BAClE,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;wBAC/B,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,gBAAgB;YAChB,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC;YAC/B,MAAM,WAAW,GAAG,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;YAC5D,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,KAAc,EAAE,MAAc;IACrD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;YAC1B,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACJ,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,OAAkC,CAAC,CAAC,MAAM,CACxE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CACzB,CAAC;gBACF,MAAM,WAAW,GAAG,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;gBAC7D,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,wDAAwD;oBACxD,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC;oBAC5D,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;gBAC/B,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,CAAC,MAAM,CACtE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CACzB,CAAC;IACF,OAAO,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,UAAU,CAAC,IAA6B;IACpD,6CAA6C;IAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAE5E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACzC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"table-formatter.js","sourceRoot":"","sources":["../../src/render/table-formatter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Validation utilities for collecting and reporting all errors at once.
3
+ *
4
+ * Instead of throwing on the first validation failure, commands should
5
+ * collect all errors and throw a single {@link ValidationError} so
6
+ * that users (and agents) can fix everything in one pass.
7
+ */
8
+ /**
9
+ * An error that carries multiple validation messages.
10
+ *
11
+ * The {@link message} property joins all individual errors with newlines
12
+ * so it renders cleanly when printed by the CLI catch block.
13
+ */
14
+ export declare class ValidationError extends Error {
15
+ readonly errors: string[];
16
+ constructor(errors: string[]);
17
+ }
18
+ /**
19
+ * Specification for a required option.
20
+ *
21
+ * @param name - The option key as it appears in Commander's parsed `options`
22
+ * object (camelCase, e.g. "book" for `--book`).
23
+ * @param flag - The flag as the user types it (e.g. "--book", "--date").
24
+ */
25
+ export interface RequiredOptionSpec {
26
+ name: string;
27
+ flag: string;
28
+ }
29
+ /**
30
+ * Checks all required options and returns an array of error strings
31
+ * for every option that is missing (`undefined` or `null`).
32
+ */
33
+ export declare function validateRequiredOptions(options: Record<string, unknown>, specs: RequiredOptionSpec[]): string[];
34
+ /**
35
+ * Throws a {@link ValidationError} if the errors array is non-empty.
36
+ */
37
+ export declare function throwIfErrors(errors: string[]): void;
38
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBAEd,MAAM,EAAE,MAAM,EAAE;CAS/B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,KAAK,EAAE,kBAAkB,EAAE,GAC5B,MAAM,EAAE,CASV;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAIpD"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Validation utilities for collecting and reporting all errors at once.
3
+ *
4
+ * Instead of throwing on the first validation failure, commands should
5
+ * collect all errors and throw a single {@link ValidationError} so
6
+ * that users (and agents) can fix everything in one pass.
7
+ */
8
+ /**
9
+ * An error that carries multiple validation messages.
10
+ *
11
+ * The {@link message} property joins all individual errors with newlines
12
+ * so it renders cleanly when printed by the CLI catch block.
13
+ */
14
+ export class ValidationError extends Error {
15
+ constructor(errors) {
16
+ const message = errors.length === 1
17
+ ? errors[0]
18
+ : 'Validation failed:\n' + errors.map(e => ` - ${e}`).join('\n');
19
+ super(message);
20
+ this.name = 'ValidationError';
21
+ this.errors = errors;
22
+ }
23
+ }
24
+ /**
25
+ * Checks all required options and returns an array of error strings
26
+ * for every option that is missing (`undefined` or `null`).
27
+ */
28
+ export function validateRequiredOptions(options, specs) {
29
+ const errors = [];
30
+ for (const spec of specs) {
31
+ const value = options[spec.name];
32
+ if (value === undefined || value === null) {
33
+ errors.push(`Missing required option: ${spec.flag}`);
34
+ }
35
+ }
36
+ return errors;
37
+ }
38
+ /**
39
+ * Throws a {@link ValidationError} if the errors array is non-empty.
40
+ */
41
+ export function throwIfErrors(errors) {
42
+ if (errors.length > 0) {
43
+ throw new ValidationError(errors);
44
+ }
45
+ }
46
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;GAKG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAGtC,YAAY,MAAgB;QACxB,MAAM,OAAO,GACT,MAAM,CAAC,MAAM,KAAK,CAAC;YACf,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACX,CAAC,CAAC,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1E,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;CACJ;AAcD;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACnC,OAAgC,EAChC,KAA2B;IAE3B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,4BAA4B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAAgB;IAC1C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bkper",
3
- "version": "4.0.0",
4
- "description": "Node.js command line client for Bkper",
3
+ "version": "4.0.2",
4
+ "description": "Command line client for Bkper",
5
5
  "bin": {
6
6
  "bkper": "./lib/cli.js"
7
7
  },
@@ -1 +0,0 @@
1
- {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/commands/balances/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,MAAM,WAAW,kBAAkB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAE7D;AAED,wBAAsB,iBAAiB,CACnC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kBAAkB,GAC5B,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CActB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/balances/get.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAO1D;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC5C,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC;AAClF,CAAC;AAED,MAAM,UAAgB,iBAAiB,CACnC,MAAc,EACd,OAA2B;;QAE3B,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEzC,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEhG,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;CAAA"}