Skip to content

Repository files navigation

@dephub/error 🚨

Lightweight error constructor for Node.js and browsers. Create, customize, and log errors with ease — your errors, your rules.

NPM versionESM-only


Features ✨

  • 🏗️ Structured Errors - Custom error codes, details, and names
  • 📊 JSON Serialization - Convert errors to structured objects
  • 🎯 TypeScript Ready - Full type safety with zero configuration
  • 🪶 Lightweight - Minimal dependencies, focused functionality
  • 🌐 Universal - Works in Node.js and browsers
  • 📝 Consistent Logging - Unified error logging with lumilog

Installation 📦

npm install @dephub/error
# or
pnpm add @dephub/error
# or
yarn add @dephub/error

Usage 🎯

Basic Error Creation

import{createError,logError}from'@dephub/error';// Create structured errorsconsterror=createError('Invalid user input',{code: 'ERR_VALIDATION_FAILED',details: {field: 'email',value: 'invalid'},name: 'ValidationError',});// Log with contextlogError(error,'User registration failed');

Error Handling & Serialization

import{DepHubError,createError}from'@dephub/error';// Constructor styleconsterror1=newDepHubError('Database connection failed','ERR_DB_CONNECTION',);// Create function (recommended)consterror2=createError('File not found',{code: 'ERR_FILE_NOT_FOUND',details: {path: '/some/file.txt'},});// Convert to JSONconsole.log(error2.toJSON());// { code: 'ERR_FILE_NOT_FOUND', details: { path: ... }, message: ... }

API Reference 📚

DepHubError

Core error class extending native Error.

classDepHubErrorextendsError{constructor(message: string,code?: string,details?: ErrorDetails,name?: string,);readonlyname: string;readonlycode: string;readonlydetails: ErrorDetails;toJSON(): Readonly<ErrorJSON>;toString(): string;}

createError

Creates DepHubError instances with simplified syntax.

functioncreateError(message: string,options?: CreateErrorOptions,): DepHubError;interfaceCreateErrorOptions{code?: string;// Error code (default: 'ERR_DEPHUB')details?: ErrorDetails;// Additional context (default: {})name?: string;// Error type name (default: 'DepHubError')}

logError

Logs errors in consistent format across DepHub ecosystem.

functionlogError(error: unknown,context?: string): void;

License 📄

MIT License – see LICENSE. Author: Estarlin R (estarlincito.com)

About

Structured error handling for Node.js and browsers with TypeScript support, customizable codes, details, and consistent logging.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages