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.
- package/CHANGELOG.md +48 -28
- package/README.md +394 -217
- package/lib/bkper-factory.d.ts.map +1 -1
- package/lib/bkper-factory.js +5 -0
- package/lib/bkper-factory.js.map +1 -1
- package/lib/cli.js +105 -37
- package/lib/cli.js.map +1 -1
- package/lib/commands/accounts/create.d.ts.map +1 -1
- package/lib/commands/accounts/create.js +16 -5
- package/lib/commands/accounts/create.js.map +1 -1
- package/lib/commands/accounts/update.d.ts.map +1 -1
- package/lib/commands/accounts/update.js +13 -5
- package/lib/commands/accounts/update.js.map +1 -1
- package/lib/commands/balances/index.d.ts +1 -1
- package/lib/commands/balances/index.d.ts.map +1 -1
- package/lib/commands/balances/index.js +1 -1
- package/lib/commands/balances/index.js.map +1 -1
- package/lib/commands/balances/{get.d.ts → list.d.ts} +3 -3
- package/lib/commands/balances/list.d.ts.map +1 -0
- package/lib/commands/balances/{get.js → list.js} +2 -2
- package/lib/commands/balances/list.js.map +1 -0
- package/lib/commands/books/create.d.ts.map +1 -1
- package/lib/commands/books/create.js +10 -2
- package/lib/commands/books/create.js.map +1 -1
- package/lib/commands/books/update.d.ts.map +1 -1
- package/lib/commands/books/update.js +13 -5
- package/lib/commands/books/update.js.map +1 -1
- package/lib/commands/groups/create.d.ts.map +1 -1
- package/lib/commands/groups/create.js +16 -5
- package/lib/commands/groups/create.js.map +1 -1
- package/lib/commands/groups/update.d.ts.map +1 -1
- package/lib/commands/groups/update.js +13 -5
- package/lib/commands/groups/update.js.map +1 -1
- package/lib/commands/transactions/create.d.ts.map +1 -1
- package/lib/commands/transactions/create.js +23 -7
- package/lib/commands/transactions/create.js.map +1 -1
- package/lib/commands/transactions/merge.d.ts.map +1 -1
- package/lib/commands/transactions/merge.js +6 -2
- package/lib/commands/transactions/merge.js.map +1 -1
- package/lib/commands/transactions/update.d.ts.map +1 -1
- package/lib/commands/transactions/update.js +23 -7
- package/lib/commands/transactions/update.js.map +1 -1
- package/lib/render/table-formatter.d.ts.map +1 -1
- package/lib/render/table-formatter.js +22 -4
- package/lib/render/table-formatter.js.map +1 -1
- package/lib/utils/validation.d.ts +38 -0
- package/lib/utils/validation.d.ts.map +1 -0
- package/lib/utils/validation.js +46 -0
- package/lib/utils/validation.js.map +1 -0
- package/package.json +2 -2
- package/lib/commands/balances/get.d.ts.map +0 -1
- 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":"
|
|
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
|
|
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,
|
|
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 +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"}
|