UNPKG

dynamodb-toolbox

Version:

Lightweight and type-safe query builder for DynamoDB and TypeScript.

21 lines (20 loc) 923 B
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 {};