npm.io
0.1.0 • Published 1 week ago

@bstockwelldev/api-errors

Licence
MIT
Version
0.1.0
Deps
0
Size
60 kB
Vulns
0
Weekly
0

@bstockwelldev/api-errors

App error taxonomy, message sanitization, and Next.js API response helpers.

Install

pnpm add @bstockwelldev/api-errors

For Next.js route handlers:

pnpm add @bstockwelldev/api-errors zod next

Usage

import {
  toAppError,
  statusFromError,
  ValidationAppError,
  registerAppErrorMapper,
} from '@bstockwelldev/api-errors';

import {
  handleAPIError,
  createSuccessNextResponse,
} from '@bstockwelldev/api-errors/next';

Register app-specific mappers before calling toAppError:

registerAppErrorMapper((error) => {
  if (error instanceof MyDomainError) {
    return { kind: AppErrorKind.Conflict, message: error.message };
  }
});

Exports

Path Contents
. AppErrorKind, toAppError, error classes, sanitizeErrorMessage
./next handleAPIError, createSuccessNextResponse, validation helpers

Peer dependencies

  • @bstockwelldev/env-kitSupabaseEnvError mapping in toAppError
  • next, zod — optional; required only for ./next

See CONSUMER.md for trust boundaries.