Files
marketing-app/server/node_modules/err-code/README.md
fahed 35d84b6bff Marketing Hub: RBAC, i18n (AR/EN), tasks overhaul, team/user merge, tutorial
Features:
- Full RBAC with 3 roles (superadmin/manager/contributor)
- Ownership tracking on posts, tasks, campaigns, projects
- Task system: assign to anyone, filter combobox, visibility scoping
- Team members merged into users table (single source of truth)
- Post thumbnails on kanban cards from attachments
- Publication link validation before publishing
- Interactive onboarding tutorial with Settings restart
- Full Arabic/English i18n with RTL layout support
- Language toggle in sidebar, IBM Plex Sans Arabic font
- Brand-based visibility filtering for non-superadmins
- Manager can only create contributors
- Profile completion flow for new users
- Cookie-based sessions (express-session + SQLite)
2026-02-08 20:46:58 +03:00

2.4 KiB

err-code

NPM version Downloads Build Status Dependency status Dev Dependency status Greenkeeper badge

Create new error instances with a code and additional properties.

Installation

$ npm install err-code
// or
$ bower install err-code

The browser file is named index.umd.js which supports CommonJS, AMD and globals (errCode).

Why

I find myself doing this repeatedly:

var err = new Error('My message');
err.code = 'SOMECODE';
err.detail = 'Additional information about the error';
throw err;

Usage

Simple usage.

var errcode = require('err-code');

// fill error with message + code
throw errcode(new Error('My message'), 'ESOMECODE');
// fill error with message + code + props
throw errcode(new Error('My message'), 'ESOMECODE', { detail: 'Additional information about the error' });
// fill error with message + props
throw errcode(new Error('My message'), { detail: 'Additional information about the error' });

Pre-existing fields

If the passed Error already has a .code field, or fields specified in the third argument to errcode they will be overwritten, unless the fields are read only or otherwise throw during assignment in which case a new object will be created that shares a prototype chain with the original Error. The .stack and .message properties will be carried over from the original error and .code or any passed properties will be set on it.

Tests

$ npm test

License

Released under the MIT License.