UNPKG

camo

Version:

A class-based ES6 ODM for Mongo-like databases.

45 lines (38 loc) 1.02 kB
'use strict'; /* * Base Camo error. * * Adapted from es6-error package. */ class CamoError extends Error { constructor(message) { super(message); // Extending Error is weird and does not propagate `message` Object.defineProperty(this, 'message', { enumerable : false, value : message }); Object.defineProperty(this, 'name', { enumerable : false, value : this.constructor.name, }); if (Error.hasOwnProperty('captureStackTrace')) { Error.captureStackTrace(this, this.constructor); return; } Object.defineProperty(this, 'stack', { enumerable : false, value : (new Error(message)).stack, }); } } /* * Error indicating document didn't pass validation. */ class ValidationError extends CamoError { constructor(message) { super(message); } } exports.CamoError = CamoError; exports.ValidationError = ValidationError;