sperror
v2.0.0
Published
Extending Error object
Downloads
15
Readme
Table of Contents
Description
Sperror is a package that creates a new Sperror object on top of the traditional Error that can be used in JavaScript environments.
The Sperror object offers useful properties to handle different types of errors while keeping the original properties of the Error object.
The package also have Sperrors specifically for Frontend/Backend development purposes and comes with some helpers functions to use them properly.
Sperror makes error handling less error prone while giving better context to developers and users.
Getting Started
Installation
npm install sperrorUsage
Basic usage
// ESM
import Sperror from 'sperror';
// CJS
const Sperror = require('sperror');
const sperror = new Sperror('Title', 'Message'); // Creates an error with Sperror
sperror.title; // 'Title'
// Or sperror.message
sperror.msg; // 'Message'Methods
log()
sperror.log(); // Logs the Sperror in the consolethrow()
sperror.throw(); // Throws the SperrorExtended Sperrors
BackendSperror
// EJS
import { BackendSperror } from 'sperror';
// CJS
const { BackendSperror } = require('sperror');
const backendSperror = new BackendSperror('Title', 'Message', 500); // HTTP status code is required for Backend Sperror
backendSperror.statusCode; // 500FrontendSperror
// EJS
import { FrontendSperror } from 'sperror';
// CJS
const { FrontendSperror } = require('sperror');
const frontendSperror = new FrontendSperror('Title', 'Message'); // HTTP status code doesn't exist on FrontendSperrorHelpers
Type Predicates
// EJS
import { isSperror, isBackendSperror, isFrontendSperror } from 'sperror';
// CJS
const { isSperror, isBackendSperror, isFrontendSperror } = require('sperror');
const sperror = new Sperror(
'Sperror',
'Not a BackendSperror nor a FrontendSperror'
);
isSperror(sperror); // true
isBackendSperror(sperror); // false
isFrontendSperror(sperror); // falsetryWithSperror
The function acts like a try/catch but returns a Sperror if an error occured.
// EJS
import { tryWithSperror } from 'sperror';
// CJS
const { tryWithSperror } = require('sperror');
function returnOne() {
return 1;
}
const try = tryWithSperror(returnOne);
try.result // 1
try.error // false
function throwNull() {
throw null;
}
const try = tryWithSperror(throwNull);
try.error // true
try.result instanceof Sperror // trueContributing
If you find an issue while using Sperror or want to contribute, please open an issue.
License
© Noa Houssier - 2025
