refactor: reduce failure-classification API surface
This commit is contained in:
@@ -1,8 +1,6 @@
|
||||
import { describe, expect, it } from 'vitest';
|
||||
import {
|
||||
errorMessage,
|
||||
isTimeoutMessage,
|
||||
parseTimeoutMs,
|
||||
timeoutMessage,
|
||||
toFailureSignal,
|
||||
} from './query-failure-classification.js';
|
||||
@@ -11,10 +9,8 @@ import { GSDToolsError } from './gsd-tools-error.js';
|
||||
describe('query failure classification', () => {
|
||||
it('extracts timeout metadata from message', () => {
|
||||
const msg = timeoutMessage('state', ['load'], 30000);
|
||||
expect(isTimeoutMessage(msg)).toBe(true);
|
||||
expect(parseTimeoutMs(msg)).toBe(30000);
|
||||
expect(toFailureSignal(new Error(msg))).toEqual({ kind: 'timeout', message: msg, timeoutMs: 30000 });
|
||||
});
|
||||
|
||||
it('normalizes unknown error values', () => {
|
||||
expect(errorMessage('boom')).toBe('boom');
|
||||
expect(errorMessage(new Error('x'))).toBe('x');
|
||||
|
||||
@@ -10,14 +10,14 @@ export function errorMessage(error: unknown): string {
|
||||
return error instanceof Error ? error.message : String(error);
|
||||
}
|
||||
|
||||
export function parseTimeoutMs(message: string): number | undefined {
|
||||
function parseTimeoutMs(message: string): number | undefined {
|
||||
const m = message.match(/timed out after\s+(\d+)ms/i);
|
||||
if (!m) return undefined;
|
||||
const n = Number.parseInt(m[1], 10);
|
||||
return Number.isFinite(n) ? n : undefined;
|
||||
}
|
||||
|
||||
export function isTimeoutMessage(message: string): boolean {
|
||||
function isTimeoutMessage(message: string): boolean {
|
||||
return /timed out after/i.test(message);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user