dynamodb-toolbox
Version:
Lightweight and type-safe query builder for DynamoDB and TypeScript.
21 lines (20 loc) • 923 B
TypeScript
import type { ErrorCodes, IndexedErrors } from './allErrors.js';
type ErrorArgs<ERROR_CODE extends ErrorCodes> = (IndexedErrors[ERROR_CODE]['hasPath'] extends false ? {
path?: string;
} : {
path: string | undefined;
}) & (IndexedErrors[ERROR_CODE]['payload'] extends undefined ? {
payload?: undefined;
} : {
payload: IndexedErrors[ERROR_CODE]['payload'];
}) & {
message: string;
};
export declare class DynamoDBToolboxError<ERROR_CODE extends ErrorCodes = ErrorCodes> extends Error {
static match: <PREFIX extends string>(error: unknown, prefix?: PREFIX) => error is DynamoDBToolboxError<Extract<ErrorCodes, `${PREFIX}${string}`>>;
code: ERROR_CODE;
path: IndexedErrors[ERROR_CODE]['hasPath'] extends false ? undefined : string | undefined;
payload: IndexedErrors[ERROR_CODE]['payload'];
constructor(code: ERROR_CODE, { message, path, payload }: ErrorArgs<ERROR_CODE>);
}
export {};