modestbench 0.0.2 → 0.1.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.
- package/CHANGELOG.md +25 -0
- package/README.md +21 -19
- package/dist/bootstrap.cjs +0 -2
- package/dist/bootstrap.cjs.map +1 -1
- package/dist/bootstrap.d.cts.map +1 -1
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +0 -2
- package/dist/bootstrap.js.map +1 -1
- package/dist/cli/commands/history.cjs +2 -1
- package/dist/cli/commands/history.cjs.map +1 -1
- package/dist/cli/commands/history.d.cts.map +1 -1
- package/dist/cli/commands/history.d.ts.map +1 -1
- package/dist/cli/commands/history.js +2 -1
- package/dist/cli/commands/history.js.map +1 -1
- package/dist/cli/commands/init.cjs +5 -4
- package/dist/cli/commands/init.cjs.map +1 -1
- package/dist/cli/commands/init.d.cts.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +5 -4
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/run.cjs +28 -3
- package/dist/cli/commands/run.cjs.map +1 -1
- package/dist/cli/commands/run.d.cts.map +1 -1
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +28 -3
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/index.cjs +38 -14
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.d.cts +1 -2
- package/dist/cli/index.d.cts.map +1 -1
- package/dist/cli/index.d.ts +1 -2
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +33 -9
- package/dist/cli/index.js.map +1 -1
- package/dist/config/manager.cjs +9 -3
- package/dist/config/manager.cjs.map +1 -1
- package/dist/config/manager.d.cts.map +1 -1
- package/dist/config/manager.d.ts.map +1 -1
- package/dist/config/manager.js +9 -3
- package/dist/config/manager.js.map +1 -1
- package/dist/constants.cjs +53 -1
- package/dist/constants.cjs.map +1 -1
- package/dist/constants.d.cts +36 -0
- package/dist/constants.d.cts.map +1 -1
- package/dist/constants.d.ts +36 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +52 -0
- package/dist/constants.js.map +1 -1
- package/dist/core/engine.cjs +19 -42
- package/dist/core/engine.cjs.map +1 -1
- package/dist/core/engine.d.cts +1 -3
- package/dist/core/engine.d.cts.map +1 -1
- package/dist/core/engine.d.ts +1 -3
- package/dist/core/engine.d.ts.map +1 -1
- package/dist/core/engine.js +19 -42
- package/dist/core/engine.js.map +1 -1
- package/dist/core/engines/accurate-engine.cjs +2 -1
- package/dist/core/engines/accurate-engine.cjs.map +1 -1
- package/dist/core/engines/accurate-engine.d.cts.map +1 -1
- package/dist/core/engines/accurate-engine.d.ts.map +1 -1
- package/dist/core/engines/accurate-engine.js +2 -1
- package/dist/core/engines/accurate-engine.js.map +1 -1
- package/dist/core/engines/tinybench-engine.cjs +6 -5
- package/dist/core/engines/tinybench-engine.cjs.map +1 -1
- package/dist/core/engines/tinybench-engine.d.cts.map +1 -1
- package/dist/core/engines/tinybench-engine.d.ts.map +1 -1
- package/dist/core/engines/tinybench-engine.js +6 -5
- package/dist/core/engines/tinybench-engine.js.map +1 -1
- package/dist/core/loader.cjs +16 -5
- package/dist/core/loader.cjs.map +1 -1
- package/dist/core/loader.d.cts.map +1 -1
- package/dist/core/loader.d.ts.map +1 -1
- package/dist/core/loader.js +16 -5
- package/dist/core/loader.js.map +1 -1
- package/dist/errors/base.cjs +130 -0
- package/dist/errors/base.cjs.map +1 -0
- package/dist/errors/base.d.cts +97 -0
- package/dist/errors/base.d.cts.map +1 -0
- package/dist/errors/base.d.ts +97 -0
- package/dist/errors/base.d.ts.map +1 -0
- package/dist/errors/base.js +124 -0
- package/dist/errors/base.js.map +1 -0
- package/dist/errors/cli.cjs +58 -0
- package/dist/errors/cli.cjs.map +1 -0
- package/dist/errors/cli.d.cts +44 -0
- package/dist/errors/cli.d.cts.map +1 -0
- package/dist/errors/cli.d.ts +44 -0
- package/dist/errors/cli.d.ts.map +1 -0
- package/dist/errors/cli.js +52 -0
- package/dist/errors/cli.js.map +1 -0
- package/dist/errors/configuration.cjs +48 -0
- package/dist/errors/configuration.cjs.map +1 -0
- package/dist/errors/configuration.d.cts +41 -0
- package/dist/errors/configuration.d.cts.map +1 -0
- package/dist/errors/configuration.d.ts +41 -0
- package/dist/errors/configuration.d.ts.map +1 -0
- package/dist/errors/configuration.js +41 -0
- package/dist/errors/configuration.js.map +1 -0
- package/dist/errors/execution.cjs +65 -0
- package/dist/errors/execution.cjs.map +1 -0
- package/dist/errors/execution.d.cts +56 -0
- package/dist/errors/execution.d.cts.map +1 -0
- package/dist/errors/execution.d.ts +56 -0
- package/dist/errors/execution.d.ts.map +1 -0
- package/dist/errors/execution.js +56 -0
- package/dist/errors/execution.js.map +1 -0
- package/dist/errors/file.cjs +56 -0
- package/dist/errors/file.cjs.map +1 -0
- package/dist/errors/file.d.cts +48 -0
- package/dist/errors/file.d.cts.map +1 -0
- package/dist/errors/file.d.ts +48 -0
- package/dist/errors/file.d.ts.map +1 -0
- package/dist/errors/file.js +48 -0
- package/dist/errors/file.js.map +1 -0
- package/dist/errors/index.cjs +59 -0
- package/dist/errors/index.cjs.map +1 -0
- package/dist/errors/index.d.cts +16 -0
- package/dist/errors/index.d.cts.map +1 -0
- package/dist/errors/index.d.ts +16 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +24 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/reporter.cjs +38 -0
- package/dist/errors/reporter.cjs.map +1 -0
- package/dist/errors/reporter.d.cts +32 -0
- package/dist/errors/reporter.d.cts.map +1 -0
- package/dist/errors/reporter.d.ts +32 -0
- package/dist/errors/reporter.d.ts.map +1 -0
- package/dist/errors/reporter.js +32 -0
- package/dist/errors/reporter.js.map +1 -0
- package/dist/errors/storage.cjs +55 -0
- package/dist/errors/storage.cjs.map +1 -0
- package/dist/errors/storage.d.cts +47 -0
- package/dist/errors/storage.d.cts.map +1 -0
- package/dist/errors/storage.d.ts +47 -0
- package/dist/errors/storage.d.ts.map +1 -0
- package/dist/errors/storage.js +47 -0
- package/dist/errors/storage.js.map +1 -0
- package/dist/errors/validation.cjs +38 -0
- package/dist/errors/validation.cjs.map +1 -0
- package/dist/errors/validation.d.cts +32 -0
- package/dist/errors/validation.d.cts.map +1 -0
- package/dist/errors/validation.d.ts +32 -0
- package/dist/errors/validation.d.ts.map +1 -0
- package/dist/errors/validation.js +32 -0
- package/dist/errors/validation.js.map +1 -0
- package/dist/index.cjs +3 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/reporters/csv.cjs +3 -2
- package/dist/reporters/csv.cjs.map +1 -1
- package/dist/reporters/csv.d.cts.map +1 -1
- package/dist/reporters/csv.d.ts.map +1 -1
- package/dist/reporters/csv.js +3 -2
- package/dist/reporters/csv.js.map +1 -1
- package/dist/reporters/human.cjs +2 -2
- package/dist/reporters/human.js +2 -2
- package/dist/reporters/json.cjs +3 -2
- package/dist/reporters/json.cjs.map +1 -1
- package/dist/reporters/json.d.cts.map +1 -1
- package/dist/reporters/json.d.ts.map +1 -1
- package/dist/reporters/json.js +3 -2
- package/dist/reporters/json.js.map +1 -1
- package/dist/reporters/registry.cjs +3 -2
- package/dist/reporters/registry.cjs.map +1 -1
- package/dist/reporters/registry.d.cts.map +1 -1
- package/dist/reporters/registry.d.ts.map +1 -1
- package/dist/reporters/registry.js +3 -2
- package/dist/reporters/registry.js.map +1 -1
- package/dist/reporters/simple.cjs +1 -1
- package/dist/reporters/simple.js +1 -1
- package/dist/storage/history.cjs +32 -11
- package/dist/storage/history.cjs.map +1 -1
- package/dist/storage/history.d.cts.map +1 -1
- package/dist/storage/history.d.ts.map +1 -1
- package/dist/storage/history.js +32 -11
- package/dist/storage/history.js.map +1 -1
- package/dist/types/interfaces.d.cts +1 -34
- package/dist/types/interfaces.d.cts.map +1 -1
- package/dist/types/interfaces.d.ts +1 -34
- package/dist/types/interfaces.d.ts.map +1 -1
- package/package.json +12 -8
- package/src/bootstrap.ts +0 -2
- package/src/cli/commands/history.ts +3 -1
- package/src/cli/commands/init.ts +14 -4
- package/src/cli/commands/run.ts +36 -3
- package/src/cli/index.ts +41 -15
- package/src/config/manager.ts +13 -3
- package/src/constants.ts +60 -0
- package/src/core/engine.ts +35 -49
- package/src/core/engines/accurate-engine.ts +4 -1
- package/src/core/engines/tinybench-engine.ts +12 -5
- package/src/core/loader.ts +27 -5
- package/src/errors/base.ts +152 -0
- package/src/errors/cli.ts +59 -0
- package/src/errors/configuration.ts +45 -0
- package/src/errors/execution.ts +62 -0
- package/src/errors/file.ts +53 -0
- package/src/errors/index.ts +71 -0
- package/src/errors/reporter.ts +35 -0
- package/src/errors/storage.ts +52 -0
- package/src/errors/validation.ts +35 -0
- package/src/index.ts +3 -3
- package/src/reporters/csv.ts +4 -2
- package/src/reporters/human.ts +2 -2
- package/src/reporters/json.ts +4 -2
- package/src/reporters/registry.ts +9 -2
- package/src/reporters/simple.ts +1 -1
- package/src/storage/history.ts +58 -11
- package/src/types/interfaces.ts +0 -43
- package/dist/core/error-manager.cjs +0 -303
- package/dist/core/error-manager.cjs.map +0 -1
- package/dist/core/error-manager.d.cts +0 -77
- package/dist/core/error-manager.d.cts.map +0 -1
- package/dist/core/error-manager.d.ts +0 -77
- package/dist/core/error-manager.d.ts.map +0 -1
- package/dist/core/error-manager.js +0 -299
- package/dist/core/error-manager.js.map +0 -1
- package/src/core/error-manager.ts +0 -372
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tinybench-engine.js","sourceRoot":"","sources":["../../../src/core/engines/tinybench-engine.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,yCAAkC;AASlC,6CAAiD;AACjD,uDAA2E;AAE3E;;GAEG;AACH,MAAa,eAAgB,SAAQ,6BAAiB;IACpD;;OAEG;IACO,KAAK,CAAC,oBAAoB,CAClC,QAAgB,EAChB,QAAuB,EACvB,MAAyB,EACzB,aAAyB,EAAE,EAC3B,MAAoB;QAEpB,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,OAAO,QAAQ,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;gBACtD,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"tinybench-engine.js","sourceRoot":"","sources":["../../../src/core/engines/tinybench-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tinybench-engine.d.ts","sourceRoot":"","sources":["../../../src/core/engines/tinybench-engine.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,UAAU,EACX,8BAA6B;
|
|
1
|
+
{"version":3,"file":"tinybench-engine.d.ts","sourceRoot":"","sources":["../../../src/core/engines/tinybench-engine.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,UAAU,EACX,8BAA6B;AAO9B,OAAO,EAAE,iBAAiB,EAAE,sBAAqB;AAGjD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,iBAAiB;IACpD;;OAEG;cACa,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,iBAAiB,EACzB,UAAU,GAAE,QAAQ,EAAO,EAC3B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC;CAgTvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tinybench-engine.d.ts","sourceRoot":"","sources":["../../../src/core/engines/tinybench-engine.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,UAAU,EACX,6BAA6B;
|
|
1
|
+
{"version":3,"file":"tinybench-engine.d.ts","sourceRoot":"","sources":["../../../src/core/engines/tinybench-engine.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,UAAU,EACX,6BAA6B;AAO9B,OAAO,EAAE,iBAAiB,EAAE,qBAAqB;AAGjD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,iBAAiB;IACpD;;OAEG;cACa,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,iBAAiB,EACzB,UAAU,GAAE,QAAQ,EAAO,EAC3B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC;CAgTvB"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* benchmark execution and measurement.
|
|
6
6
|
*/
|
|
7
7
|
import { Bench } from 'tinybench';
|
|
8
|
+
import { BenchmarkExecutionError, OperationTooFastError, StructureValidationError, } from "../../errors/index.js";
|
|
8
9
|
import { ModestBenchEngine } from "../engine.js";
|
|
9
10
|
import { calculateStatistics, removeOutliersIQR } from "../stats-utils.js";
|
|
10
11
|
/**
|
|
@@ -17,7 +18,7 @@ export class TinybenchEngine extends ModestBenchEngine {
|
|
|
17
18
|
async executeBenchmarkTask(taskName, taskData, config, _reporters = [], signal) {
|
|
18
19
|
try {
|
|
19
20
|
if (!taskData.fn || typeof taskData.fn !== 'function') {
|
|
20
|
-
throw new
|
|
21
|
+
throw new StructureValidationError('Benchmark task must have a "fn" function property');
|
|
21
22
|
}
|
|
22
23
|
// Determine effective time and iterations based on limitBy mode
|
|
23
24
|
let effectiveTime;
|
|
@@ -106,11 +107,11 @@ export class TinybenchEngine extends ModestBenchEngine {
|
|
|
106
107
|
}
|
|
107
108
|
catch {
|
|
108
109
|
// If still failing, the operation is too fast even for tinybench
|
|
109
|
-
throw new
|
|
110
|
+
throw new OperationTooFastError(`Benchmark operation is too fast to measure reliably (execution time < 1ns)`);
|
|
110
111
|
}
|
|
111
112
|
const minimalResults = minimalBench.results[0];
|
|
112
113
|
if (!minimalResults || minimalResults.error) {
|
|
113
|
-
throw new
|
|
114
|
+
throw new OperationTooFastError(`Benchmark too fast to measure reliably: ${minimalResults?.error?.message || 'unknown error'}`);
|
|
114
115
|
}
|
|
115
116
|
// Continue with minimal results - apply outlier removal
|
|
116
117
|
const minimalRawSamples = minimalResults.latency.samples || [];
|
|
@@ -144,7 +145,7 @@ export class TinybenchEngine extends ModestBenchEngine {
|
|
|
144
145
|
// Get results
|
|
145
146
|
const results = bench.results[0];
|
|
146
147
|
if (!results) {
|
|
147
|
-
throw new
|
|
148
|
+
throw new BenchmarkExecutionError('No benchmark results returned');
|
|
148
149
|
}
|
|
149
150
|
// Check if the task was aborted
|
|
150
151
|
if (results.aborted) {
|
|
@@ -206,7 +207,7 @@ export class TinybenchEngine extends ModestBenchEngine {
|
|
|
206
207
|
const minimalResults = minimalBench.results[0];
|
|
207
208
|
if (!minimalResults || minimalResults.error) {
|
|
208
209
|
// If retry also fails, just accept it failed
|
|
209
|
-
throw new
|
|
210
|
+
throw new OperationTooFastError(`Benchmark operation is too fast to measure reliably`);
|
|
210
211
|
}
|
|
211
212
|
// Return minimal results - apply outlier removal
|
|
212
213
|
const minimalRawSamples2 = minimalResults.latency.samples || [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tinybench-engine.js","sourceRoot":"","sources":["../../../src/core/engines/tinybench-engine.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AASlC,OAAO,EAAE,iBAAiB,EAAE,qBAAqB;AACjD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,0BAA0B;AAE3E;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,iBAAiB;IACpD;;OAEG;IACO,KAAK,CAAC,oBAAoB,CAClC,QAAgB,EAChB,QAAuB,EACvB,MAAyB,EACzB,aAAyB,EAAE,EAC3B,MAAoB;QAEpB,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,OAAO,QAAQ,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;gBACtD,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"tinybench-engine.js","sourceRoot":"","sources":["../../../src/core/engines/tinybench-engine.ts"],"names":[],"mappings":"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"}
|
package/dist/core/loader.cjs
CHANGED
|
@@ -52,6 +52,7 @@ const glob_1 = require("glob");
|
|
|
52
52
|
const promises_1 = require("node:fs/promises");
|
|
53
53
|
const node_path_1 = require("node:path");
|
|
54
54
|
const constants_js_1 = require("../constants.cjs");
|
|
55
|
+
const index_js_1 = require("../errors/index.cjs");
|
|
55
56
|
const benchmark_schema_js_1 = require("./benchmark-schema.cjs");
|
|
56
57
|
/**
|
|
57
58
|
* Implementation of FileLoader for benchmark files
|
|
@@ -111,7 +112,7 @@ class BenchmarkFileLoader {
|
|
|
111
112
|
return supportedFiles.sort();
|
|
112
113
|
}
|
|
113
114
|
catch (error) {
|
|
114
|
-
throw new
|
|
115
|
+
throw new index_js_1.FileDiscoveryError(`File discovery failed: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
|
|
115
116
|
}
|
|
116
117
|
}
|
|
117
118
|
/**
|
|
@@ -122,7 +123,7 @@ class BenchmarkFileLoader {
|
|
|
122
123
|
// Basic file checks (existence, extension)
|
|
123
124
|
const basicValidation = await this.validate(filePath);
|
|
124
125
|
if (!basicValidation.valid) {
|
|
125
|
-
throw new
|
|
126
|
+
throw new index_js_1.FileLoadError(`Invalid benchmark file: ${basicValidation.errors.map((e) => e.message).join(', ')}`);
|
|
126
127
|
}
|
|
127
128
|
// Read file content
|
|
128
129
|
const content = await (0, promises_1.readFile)(filePath, 'utf-8');
|
|
@@ -147,7 +148,7 @@ class BenchmarkFileLoader {
|
|
|
147
148
|
// Validate the loaded exports structure with Zod
|
|
148
149
|
const structureValidation = this.validateExports(filePath, exports);
|
|
149
150
|
if (!structureValidation.valid || !structureValidation.data) {
|
|
150
|
-
throw new
|
|
151
|
+
throw new index_js_1.StructureValidationError(`Invalid benchmark structure: ${structureValidation.errors.map((e) => e.message).join(', ')}`);
|
|
151
152
|
}
|
|
152
153
|
// Use the transformed/normalized data from Zod
|
|
153
154
|
// (this ensures shorthand functions are properly wrapped)
|
|
@@ -168,7 +169,12 @@ class BenchmarkFileLoader {
|
|
|
168
169
|
};
|
|
169
170
|
}
|
|
170
171
|
catch (error) {
|
|
171
|
-
throw
|
|
172
|
+
// Re-throw our custom errors
|
|
173
|
+
if (error instanceof index_js_1.FileLoadError ||
|
|
174
|
+
error instanceof index_js_1.StructureValidationError) {
|
|
175
|
+
throw error;
|
|
176
|
+
}
|
|
177
|
+
throw new index_js_1.FileLoadError(`Failed to load file ${filePath}: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
|
|
172
178
|
}
|
|
173
179
|
}
|
|
174
180
|
/**
|
|
@@ -180,7 +186,12 @@ class BenchmarkFileLoader {
|
|
|
180
186
|
return await Promise.all(loadPromises);
|
|
181
187
|
}
|
|
182
188
|
catch (error) {
|
|
183
|
-
throw
|
|
189
|
+
// Re-throw our custom errors (from individual load calls)
|
|
190
|
+
if (error instanceof index_js_1.FileLoadError ||
|
|
191
|
+
error instanceof index_js_1.StructureValidationError) {
|
|
192
|
+
throw error;
|
|
193
|
+
}
|
|
194
|
+
throw new index_js_1.FileLoadError(`Failed to load files: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
|
|
184
195
|
}
|
|
185
196
|
}
|
|
186
197
|
/**
|
package/dist/core/loader.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/core/loader.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,+BAA4B;AAC5B,+CAA0D;AAC1D,yCAAoC;AAWpC,mDAGyB;AACzB,gEAA4D;AAkB5D;;GAEG;AACH,MAAa,mBAAmB;IACb,mBAAmB,GAAG,wCAAyB,CAAC;IAEjE;;OAEG;IACH,KAAK,CAAC,QAAQ,CACZ,OAA0B,EAC1B,UAAoB,EAAE;QAEtB,IAAI,CAAC;YACH,IAAI,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAE5D,gDAAgD;YAChD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,QAAQ,GAAG;oBACT,IAAI,qCAAsB,EAAE,EAAE,8BAA8B;oBAC5D,UAAU,qCAAsB,EAAE,EAAE,6BAA6B;iBAClE,CAAC;YACJ,CAAC;YAED,oDAAoD;YACpD,MAAM,gBAAgB,GAAa,EAAE,CAAC;YACtC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,MAAM,IAAA,eAAI,EAAC,CAAC,CAAC,CAAC;oBAC5B,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;wBACxB,gCAAgC;wBAChC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,qCAAsB,EAAE,CAAC,CAAC;oBAC9D,CAAC;yBAAM,CAAC;wBACN,yDAAyD;wBACzD,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC3B,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,4CAA4C;oBAC5C,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;YAEnC,uBAAuB;YACvB,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,MAAM,IAAA,WAAI,EAAC,CAAC,EAAE;oBAC1B,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,OAAO;oBACf,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC;gBAEH,4DAA4D;gBAC5D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;YAED,sCAAsC;YACtC,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE;gBAClE,MAAM,GAAG,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,CAAC;gBAC1B,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;YAEH,OAAO,cAAc,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/core/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/core/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAEV,aAAa,EACb,UAAU,EAEV,gBAAgB,EAEjB,2BAA0B;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/core/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAEV,aAAa,EACb,UAAU,EAEV,gBAAgB,EAEjB,2BAA0B;AAa3B;;GAEG;AACH,UAAU,UAAU;IAClB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;CACjD;AAED;;GAEG;AACH,UAAU,WAAW;IACnB,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;GAEG;AACH,qBAAa,mBAAoB,YAAW,UAAU;IACpD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA6B;IAEjE;;OAEG;IACG,QAAQ,CACZ,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,OAAO,GAAE,MAAM,EAAO,GACrB,OAAO,CAAC,MAAM,EAAE,CAAC;IA6DpB;;OAEG;IACG,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAoFpD;;OAEG;IACG,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAmB5D;;;OAGG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoD3D;;OAEG;IACH,KAAK,CACH,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,GACzC,WAAW;IAUd;;;OAGG;IACH,OAAO,CAAC,eAAe;CAwCxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/core/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAEV,aAAa,EACb,UAAU,EAEV,gBAAgB,EAEjB,0BAA0B;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/core/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAEV,aAAa,EACb,UAAU,EAEV,gBAAgB,EAEjB,0BAA0B;AAa3B;;GAEG;AACH,UAAU,UAAU;IAClB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;CACjD;AAED;;GAEG;AACH,UAAU,WAAW;IACnB,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;GAEG;AACH,qBAAa,mBAAoB,YAAW,UAAU;IACpD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA6B;IAEjE;;OAEG;IACG,QAAQ,CACZ,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,OAAO,GAAE,MAAM,EAAO,GACrB,OAAO,CAAC,MAAM,EAAE,CAAC;IA6DpB;;OAEG;IACG,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAoFpD;;OAEG;IACG,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAmB5D;;;OAGG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoD3D;;OAEG;IACH,KAAK,CACH,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,GACzC,WAAW;IAUd;;;OAGG;IACH,OAAO,CAAC,eAAe;CAwCxB"}
|
package/dist/core/loader.js
CHANGED
|
@@ -16,6 +16,7 @@ import { glob } from 'glob';
|
|
|
16
16
|
import { access, readFile, stat } from 'node:fs/promises';
|
|
17
17
|
import { extname } from 'node:path';
|
|
18
18
|
import { BENCHMARK_FILE_EXTENSIONS, BENCHMARK_FILE_PATTERN, } from "../constants.js";
|
|
19
|
+
import { FileDiscoveryError, FileLoadError, StructureValidationError, } from "../errors/index.js";
|
|
19
20
|
import { benchmarkFileSchema } from "./benchmark-schema.js";
|
|
20
21
|
/**
|
|
21
22
|
* Implementation of FileLoader for benchmark files
|
|
@@ -75,7 +76,7 @@ export class BenchmarkFileLoader {
|
|
|
75
76
|
return supportedFiles.sort();
|
|
76
77
|
}
|
|
77
78
|
catch (error) {
|
|
78
|
-
throw new
|
|
79
|
+
throw new FileDiscoveryError(`File discovery failed: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
|
|
79
80
|
}
|
|
80
81
|
}
|
|
81
82
|
/**
|
|
@@ -86,7 +87,7 @@ export class BenchmarkFileLoader {
|
|
|
86
87
|
// Basic file checks (existence, extension)
|
|
87
88
|
const basicValidation = await this.validate(filePath);
|
|
88
89
|
if (!basicValidation.valid) {
|
|
89
|
-
throw new
|
|
90
|
+
throw new FileLoadError(`Invalid benchmark file: ${basicValidation.errors.map((e) => e.message).join(', ')}`);
|
|
90
91
|
}
|
|
91
92
|
// Read file content
|
|
92
93
|
const content = await readFile(filePath, 'utf-8');
|
|
@@ -111,7 +112,7 @@ export class BenchmarkFileLoader {
|
|
|
111
112
|
// Validate the loaded exports structure with Zod
|
|
112
113
|
const structureValidation = this.validateExports(filePath, exports);
|
|
113
114
|
if (!structureValidation.valid || !structureValidation.data) {
|
|
114
|
-
throw new
|
|
115
|
+
throw new StructureValidationError(`Invalid benchmark structure: ${structureValidation.errors.map((e) => e.message).join(', ')}`);
|
|
115
116
|
}
|
|
116
117
|
// Use the transformed/normalized data from Zod
|
|
117
118
|
// (this ensures shorthand functions are properly wrapped)
|
|
@@ -132,7 +133,12 @@ export class BenchmarkFileLoader {
|
|
|
132
133
|
};
|
|
133
134
|
}
|
|
134
135
|
catch (error) {
|
|
135
|
-
throw
|
|
136
|
+
// Re-throw our custom errors
|
|
137
|
+
if (error instanceof FileLoadError ||
|
|
138
|
+
error instanceof StructureValidationError) {
|
|
139
|
+
throw error;
|
|
140
|
+
}
|
|
141
|
+
throw new FileLoadError(`Failed to load file ${filePath}: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
|
|
136
142
|
}
|
|
137
143
|
}
|
|
138
144
|
/**
|
|
@@ -144,7 +150,12 @@ export class BenchmarkFileLoader {
|
|
|
144
150
|
return await Promise.all(loadPromises);
|
|
145
151
|
}
|
|
146
152
|
catch (error) {
|
|
147
|
-
throw
|
|
153
|
+
// Re-throw our custom errors (from individual load calls)
|
|
154
|
+
if (error instanceof FileLoadError ||
|
|
155
|
+
error instanceof StructureValidationError) {
|
|
156
|
+
throw error;
|
|
157
|
+
}
|
|
158
|
+
throw new FileLoadError(`Failed to load files: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
|
|
148
159
|
}
|
|
149
160
|
}
|
|
150
161
|
/**
|
package/dist/core/loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/core/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;;;;;;;;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,OAAO,EACL,yBAAyB,EACzB,sBAAsB,GACvB,wBAAwB;AACzB,OAAO,EAAE,mBAAmB,EAAE,8BAA8B;AAkB5D;;GAEG;AACH,MAAM,OAAO,mBAAmB;IACb,mBAAmB,GAAG,yBAAyB,CAAC;IAEjE;;OAEG;IACH,KAAK,CAAC,QAAQ,CACZ,OAA0B,EAC1B,UAAoB,EAAE;QAEtB,IAAI,CAAC;YACH,IAAI,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAE5D,gDAAgD;YAChD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,QAAQ,GAAG;oBACT,IAAI,sBAAsB,EAAE,EAAE,8BAA8B;oBAC5D,UAAU,sBAAsB,EAAE,EAAE,6BAA6B;iBAClE,CAAC;YACJ,CAAC;YAED,oDAAoD;YACpD,MAAM,gBAAgB,GAAa,EAAE,CAAC;YACtC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC5B,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;wBACxB,gCAAgC;wBAChC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,sBAAsB,EAAE,CAAC,CAAC;oBAC9D,CAAC;yBAAM,CAAC;wBACN,yDAAyD;wBACzD,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC3B,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,4CAA4C;oBAC5C,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;YAEnC,uBAAuB;YACvB,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,CAAC,EAAE;oBAC1B,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,OAAO;oBACf,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC;gBAEH,4DAA4D;gBAC5D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;YAED,sCAAsC;YACtC,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE;gBAClE,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC1B,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;YAEH,OAAO,cAAc,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/core/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;;;;;;;;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,OAAO,EACL,yBAAyB,EACzB,sBAAsB,GACvB,wBAAwB;AACzB,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,wBAAwB,GACzB,2BAA2B;AAC5B,OAAO,EAAE,mBAAmB,EAAE,8BAA8B;AAkB5D;;GAEG;AACH,MAAM,OAAO,mBAAmB;IACb,mBAAmB,GAAG,yBAAyB,CAAC;IAEjE;;OAEG;IACH,KAAK,CAAC,QAAQ,CACZ,OAA0B,EAC1B,UAAoB,EAAE;QAEtB,IAAI,CAAC;YACH,IAAI,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAE5D,gDAAgD;YAChD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,QAAQ,GAAG;oBACT,IAAI,sBAAsB,EAAE,EAAE,8BAA8B;oBAC5D,UAAU,sBAAsB,EAAE,EAAE,6BAA6B;iBAClE,CAAC;YACJ,CAAC;YAED,oDAAoD;YACpD,MAAM,gBAAgB,GAAa,EAAE,CAAC;YACtC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC5B,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;wBACxB,gCAAgC;wBAChC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,sBAAsB,EAAE,CAAC,CAAC;oBAC9D,CAAC;yBAAM,CAAC;wBACN,yDAAyD;wBACzD,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC3B,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,4CAA4C;oBAC5C,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;YAEnC,uBAAuB;YACvB,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,CAAC,EAAE;oBAC1B,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,OAAO;oBACf,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC;gBAEH,4DAA4D;gBAC5D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;YAED,sCAAsC;YACtC,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE;gBAClE,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC1B,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;YAEH,OAAO,cAAc,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,kBAAkB,CAC1B,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAClF,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,QAAgB;QACzB,IAAI,CAAC;YACH,2CAA2C;YAC3C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACtD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;gBAC3B,MAAM,IAAI,aAAa,CACrB,2BAA2B,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrF,CAAC;YACJ,CAAC;YAED,oBAAoB;YACpB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAElD,8BAA8B;YAC9B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEnC,uCAAuC;YACvC,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,MAAqD,CAAC;YAE1D,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACtD,0DAA0D;gBAC1D,MAAM,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAC/D,+BAA+B,CAChC,CAAC;gBACF,MAAM,MAAM,GAAG,sBAAsB,EAAE,CAAC;gBACxC,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAGxC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,oEAAoE;gBACpE,uEAAuE;gBACvE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,MAAM,GAAG,CAAC,MAAM,MAAM,kCAAC,GAAG,QAAQ,MAAM,SAAS,EAAE,EAAC,CAGnD,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC;YAEzC,iDAAiD;YACjD,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACpE,IAAI,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;gBAC5D,MAAM,IAAI,wBAAwB,CAChC,gCAAgC,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9F,CAAC;YACJ,CAAC;YAED,+CAA+C;YAC/C,0DAA0D;YAC1D,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,IAAI,CAAC;YAEnD,0EAA0E;YAC1E,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC;YACtD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAExC,OAAO;gBACL,OAAO;gBACP,OAAO,EAAE,iBAAiB;gBAC1B,QAAQ;gBACR,QAAQ,EAAE;oBACR,WAAW;oBACX,gBAAgB;oBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;iBACjB;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,6BAA6B;YAC7B,IACE,KAAK,YAAY,aAAa;gBAC9B,KAAK,YAAY,wBAAwB,EACzC,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,aAAa,CACrB,uBAAuB,QAAQ,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAC5F,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,SAAmB;QAC/B,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtE,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,0DAA0D;YAC1D,IACE,KAAK,YAAY,aAAa;gBAC9B,KAAK,YAAY,wBAAwB,EACzC,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,aAAa,CACrB,yBAAyB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACjF,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,CAAC,QAAgB;QAC7B,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAwB,EAAE,CAAC;QAEzC,IAAI,CAAC;YACH,uBAAuB;YACvB,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,gBAAgB;oBACtB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,qBAAqB;oBAC9B,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;gBACH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACvD,CAAC;YAED,uBAAuB;YACvB,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,uBAAuB;oBAC7B,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,+BAA+B,GAAG,2BAA2B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACvH,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;YACL,CAAC;YAED,OAAO;gBACL,MAAM;gBACN,KAAK,EAAE,CAAC,QAAQ,CAAC;gBACjB,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;gBAC1B,QAAQ;aACT,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,sBAAsB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBACvF,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YAEH,OAAO;gBACL,MAAM;gBACN,KAAK,EAAE,CAAC,QAAQ,CAAC;gBACjB,KAAK,EAAE,KAAK;gBACZ,QAAQ;aACT,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CACH,QAAgB,EAChB,SAA0C;QAE1C,yDAAyD;QACzD,kCAAkC;QAClC,OAAO;YACL,KAAK;gBACH,QAAQ;YACV,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,eAAe,CACrB,QAAgB,EAChB,OAAgB;QAOhB,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAwB,EAAE,CAAC;QAEzC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAEtD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;oBACxC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtE,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,mBAAmB;wBACzB,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,GAAG,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE;wBAClC,QAAQ,EAAE,OAAO;qBAClB,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YAC5C,CAAC;YAED,oEAAoE;YACpE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,gCAAgC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBACjG,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC5C,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ModestBench Custom Error System
|
|
4
|
+
*
|
|
5
|
+
* Base error classes providing structured error handling with error codes,
|
|
6
|
+
* documentation URLs, and consistent error display.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.isModestBenchError = exports.ModestBenchError = exports.ModestBenchAggregateError = void 0;
|
|
10
|
+
/**
|
|
11
|
+
* Base URL for error documentation
|
|
12
|
+
*/
|
|
13
|
+
const ERROR_DOC_BASE_URL = 'https://boneskull.github.io/modestbench/reference/errors';
|
|
14
|
+
/**
|
|
15
|
+
* Abstract base class for ModestBench aggregate errors
|
|
16
|
+
*
|
|
17
|
+
* Extends AggregateError to support multiple errors with ModestBench error
|
|
18
|
+
* system features.
|
|
19
|
+
*/
|
|
20
|
+
class ModestBenchAggregateError extends AggregateError {
|
|
21
|
+
/**
|
|
22
|
+
* Error name (matches class name)
|
|
23
|
+
*/
|
|
24
|
+
name;
|
|
25
|
+
/**
|
|
26
|
+
* Create a new ModestBench aggregate error
|
|
27
|
+
*
|
|
28
|
+
* @param errors - Array of errors that occurred
|
|
29
|
+
* @param message - Human-readable error message
|
|
30
|
+
* @param options - Optional Error options (e.g., cause)
|
|
31
|
+
*/
|
|
32
|
+
constructor(errors, message, options) {
|
|
33
|
+
super(errors, message, options);
|
|
34
|
+
this.name = this.constructor.name;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Get the documentation URL for this error
|
|
38
|
+
*
|
|
39
|
+
* Returns a URL to the error reference page with an anchor to the specific
|
|
40
|
+
* error.
|
|
41
|
+
*
|
|
42
|
+
* @returns Documentation URL
|
|
43
|
+
*/
|
|
44
|
+
getDocUrl() {
|
|
45
|
+
// Use the error class name as the anchor (e.g., ConfigValidationError -> #configvalidationerror)
|
|
46
|
+
const anchor = this.name.toLowerCase();
|
|
47
|
+
return `${ERROR_DOC_BASE_URL}#${anchor}`;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Convert error to string with code, documentation URL, and nested errors
|
|
51
|
+
*
|
|
52
|
+
* @returns Formatted error string
|
|
53
|
+
*/
|
|
54
|
+
toString() {
|
|
55
|
+
let result = `${this.name} [${this.code}]: ${this.message}\n`;
|
|
56
|
+
result += `See: ${this.getDocUrl()}\n`;
|
|
57
|
+
if (this.errors.length > 0) {
|
|
58
|
+
result += `\nContains ${this.errors.length} error(s):\n`;
|
|
59
|
+
this.errors.forEach((err, index) => {
|
|
60
|
+
const errMsg = err instanceof Error ? err.message : String(err);
|
|
61
|
+
result += ` ${index + 1}. ${errMsg}\n`;
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
return result;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.ModestBenchAggregateError = ModestBenchAggregateError;
|
|
68
|
+
/**
|
|
69
|
+
* Abstract base class for all ModestBench errors
|
|
70
|
+
*
|
|
71
|
+
* Provides:
|
|
72
|
+
*
|
|
73
|
+
* - Unique error codes with ERR_MB_ prefix
|
|
74
|
+
* - Documentation URL generation
|
|
75
|
+
* - Consistent error display format
|
|
76
|
+
* - TypeScript type safety
|
|
77
|
+
*/
|
|
78
|
+
class ModestBenchError extends Error {
|
|
79
|
+
/**
|
|
80
|
+
* Error name (matches class name)
|
|
81
|
+
*/
|
|
82
|
+
name;
|
|
83
|
+
/**
|
|
84
|
+
* Create a new ModestBench error
|
|
85
|
+
*
|
|
86
|
+
* @param message - Human-readable error message
|
|
87
|
+
* @param options - Optional Error options (e.g., cause)
|
|
88
|
+
*/
|
|
89
|
+
constructor(message, options) {
|
|
90
|
+
super(message, options);
|
|
91
|
+
this.name = this.constructor.name;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Get the documentation URL for this error
|
|
95
|
+
*
|
|
96
|
+
* Returns a URL to the error reference page with an anchor to the specific
|
|
97
|
+
* error.
|
|
98
|
+
*
|
|
99
|
+
* @returns Documentation URL
|
|
100
|
+
*/
|
|
101
|
+
getDocUrl() {
|
|
102
|
+
// Use the error class name as the anchor (e.g., ConfigValidationError -> #configvalidationerror)
|
|
103
|
+
const anchor = this.name.toLowerCase();
|
|
104
|
+
return `${ERROR_DOC_BASE_URL}#${anchor}`;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Convert error to string with code and documentation URL
|
|
108
|
+
*
|
|
109
|
+
* @returns Formatted error string
|
|
110
|
+
*/
|
|
111
|
+
toString() {
|
|
112
|
+
return `${this.name} [${this.code}]: ${this.message}\nSee: ${this.getDocUrl()}`;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
exports.ModestBenchError = ModestBenchError;
|
|
116
|
+
/**
|
|
117
|
+
* Type guard to check if an error is a ModestBench error
|
|
118
|
+
*
|
|
119
|
+
* @param error - The error to check
|
|
120
|
+
* @returns True if the error is a ModestBench error
|
|
121
|
+
*/
|
|
122
|
+
const isModestBenchError = (error) => {
|
|
123
|
+
return (typeof error === 'object' &&
|
|
124
|
+
error !== null &&
|
|
125
|
+
'code' in error &&
|
|
126
|
+
typeof error.code === 'string' &&
|
|
127
|
+
error.code.startsWith('ERR_MB_'));
|
|
128
|
+
};
|
|
129
|
+
exports.isModestBenchError = isModestBenchError;
|
|
130
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/errors/base.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH;;GAEG;AACH,MAAM,kBAAkB,GACtB,0DAA0D,CAAC;AAE7D;;;;;GAKG;AACH,MAAsB,yBAA0B,SAAQ,cAAc;IAOpE;;OAEG;IACsB,IAAI,CAAS;IAEtC;;;;;;OAMG;IACH,YAAY,MAAiB,EAAE,OAAe,EAAE,OAAsB;QACpE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACpC,CAAC;IAED;;;;;;;OAOG;IACH,SAAS;QACP,iGAAiG;QACjG,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACvC,OAAO,GAAG,kBAAkB,IAAI,MAAM,EAAE,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACM,QAAQ;QACf,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,OAAO,IAAI,CAAC;QAC9D,MAAM,IAAI,QAAQ,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;QAEvC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,cAAc,IAAI,CAAC,MAAM,CAAC,MAAM,cAAc,CAAC;YACzD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBACjC,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChE,MAAM,IAAI,KAAK,KAAK,GAAG,CAAC,KAAK,MAAM,IAAI,CAAC;YAC1C,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAzDD,8DAyDC;AAED;;;;;;;;;GASG;AACH,MAAsB,gBAAiB,SAAQ,KAAK;IAOlD;;OAEG;IACsB,IAAI,CAAS;IAEtC;;;;;OAKG;IACH,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACpC,CAAC;IAED;;;;;;;OAOG;IACH,SAAS;QACP,iGAAiG;QACjG,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACvC,OAAO,GAAG,kBAAkB,IAAI,MAAM,EAAE,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACM,QAAQ;QACf,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,OAAO,UAAU,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;IAClF,CAAC;CACF;AA7CD,4CA6CC;AAED;;;;;GAKG;AACI,MAAM,kBAAkB,GAAG,CAChC,KAAc,EACa,EAAE;IAC7B,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,OAAQ,KAA2B,CAAC,IAAI,KAAK,QAAQ;QACpD,KAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CACvD,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,kBAAkB,sBAU7B"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ModestBench Custom Error System
|
|
3
|
+
*
|
|
4
|
+
* Base error classes providing structured error handling with error codes,
|
|
5
|
+
* documentation URLs, and consistent error display.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Abstract base class for ModestBench aggregate errors
|
|
9
|
+
*
|
|
10
|
+
* Extends AggregateError to support multiple errors with ModestBench error
|
|
11
|
+
* system features.
|
|
12
|
+
*/
|
|
13
|
+
export declare abstract class ModestBenchAggregateError extends AggregateError {
|
|
14
|
+
/**
|
|
15
|
+
* Unique error code for this error type Must be in format:
|
|
16
|
+
* ERR_MB_CATEGORY_DESCRIPTION
|
|
17
|
+
*/
|
|
18
|
+
abstract readonly code: string;
|
|
19
|
+
/**
|
|
20
|
+
* Error name (matches class name)
|
|
21
|
+
*/
|
|
22
|
+
readonly name: string;
|
|
23
|
+
/**
|
|
24
|
+
* Create a new ModestBench aggregate error
|
|
25
|
+
*
|
|
26
|
+
* @param errors - Array of errors that occurred
|
|
27
|
+
* @param message - Human-readable error message
|
|
28
|
+
* @param options - Optional Error options (e.g., cause)
|
|
29
|
+
*/
|
|
30
|
+
constructor(errors: unknown[], message: string, options?: ErrorOptions);
|
|
31
|
+
/**
|
|
32
|
+
* Get the documentation URL for this error
|
|
33
|
+
*
|
|
34
|
+
* Returns a URL to the error reference page with an anchor to the specific
|
|
35
|
+
* error.
|
|
36
|
+
*
|
|
37
|
+
* @returns Documentation URL
|
|
38
|
+
*/
|
|
39
|
+
getDocUrl(): string;
|
|
40
|
+
/**
|
|
41
|
+
* Convert error to string with code, documentation URL, and nested errors
|
|
42
|
+
*
|
|
43
|
+
* @returns Formatted error string
|
|
44
|
+
*/
|
|
45
|
+
toString(): string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Abstract base class for all ModestBench errors
|
|
49
|
+
*
|
|
50
|
+
* Provides:
|
|
51
|
+
*
|
|
52
|
+
* - Unique error codes with ERR_MB_ prefix
|
|
53
|
+
* - Documentation URL generation
|
|
54
|
+
* - Consistent error display format
|
|
55
|
+
* - TypeScript type safety
|
|
56
|
+
*/
|
|
57
|
+
export declare abstract class ModestBenchError extends Error {
|
|
58
|
+
/**
|
|
59
|
+
* Unique error code for this error type Must be in format:
|
|
60
|
+
* ERR_MB_CATEGORY_DESCRIPTION
|
|
61
|
+
*/
|
|
62
|
+
abstract readonly code: string;
|
|
63
|
+
/**
|
|
64
|
+
* Error name (matches class name)
|
|
65
|
+
*/
|
|
66
|
+
readonly name: string;
|
|
67
|
+
/**
|
|
68
|
+
* Create a new ModestBench error
|
|
69
|
+
*
|
|
70
|
+
* @param message - Human-readable error message
|
|
71
|
+
* @param options - Optional Error options (e.g., cause)
|
|
72
|
+
*/
|
|
73
|
+
constructor(message: string, options?: ErrorOptions);
|
|
74
|
+
/**
|
|
75
|
+
* Get the documentation URL for this error
|
|
76
|
+
*
|
|
77
|
+
* Returns a URL to the error reference page with an anchor to the specific
|
|
78
|
+
* error.
|
|
79
|
+
*
|
|
80
|
+
* @returns Documentation URL
|
|
81
|
+
*/
|
|
82
|
+
getDocUrl(): string;
|
|
83
|
+
/**
|
|
84
|
+
* Convert error to string with code and documentation URL
|
|
85
|
+
*
|
|
86
|
+
* @returns Formatted error string
|
|
87
|
+
*/
|
|
88
|
+
toString(): string;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Type guard to check if an error is a ModestBench error
|
|
92
|
+
*
|
|
93
|
+
* @param error - The error to check
|
|
94
|
+
* @returns True if the error is a ModestBench error
|
|
95
|
+
*/
|
|
96
|
+
export declare const isModestBenchError: (error: unknown) => error is ModestBenchError;
|
|
97
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/errors/base.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH;;;;;GAKG;AACH,8BAAsB,yBAA0B,SAAQ,cAAc;IACpE;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,SAAyB,IAAI,EAAE,MAAM,CAAC;IAEtC;;;;;;OAMG;gBACS,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;IAKtE;;;;;;;OAOG;IACH,SAAS,IAAI,MAAM;IAMnB;;;;OAIG;IACM,QAAQ,IAAI,MAAM;CAc5B;AAED;;;;;;;;;GASG;AACH,8BAAsB,gBAAiB,SAAQ,KAAK;IAClD;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,SAAyB,IAAI,EAAE,MAAM,CAAC;IAEtC;;;;;OAKG;gBACS,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;IAKnD;;;;;;;OAOG;IACH,SAAS,IAAI,MAAM;IAMnB;;;;OAIG;IACM,QAAQ,IAAI,MAAM;CAG5B;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAC7B,OAAO,OAAO,KACb,KAAK,IAAI,gBAQX,CAAC"}
|