Socket
Socket
Sign inDemoInstall

@c8/errors

Package Overview
Dependencies
Maintainers
6
Versions
22
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@c8/errors - npm Package Compare versions

Comparing version 0.0.10 to 0.1.0

0

index.js

@@ -0,0 +0,0 @@ 'use strict'

13

lib/boom-mapping.js
module.exports = {
entityTooLarge: ['FileTooLargeError'],
unsupportedMediaType: ['TypeError'],
badRequest: ['PurseAlreadyExists'],
notFound: ['NotFoundError']
forbidden: ['PermissionDeniedError'],
notFound: ['NotFoundError'],
conflict: ['AlreadyExistsError'],
serverTimeout: ['TimeoutError'],
badRequest: ['InvalidInputError', 'SizeError'],
notImplemented: ['NotImplementedError']
}
// NotUpdatedError
// NotRemovedError

@@ -6,33 +6,12 @@ 'use strict'

module.exports = {
FileTooLargeError: createError('FileTooLargeError'),
SizeError: createError('SizeError'),
TypeError: createError('TypeError'),
ReadError: createError('ReadError'),
InvalidIdError: createError('InvalidIdError'),
TokenNotFoundError: createError('TokenNotFoundError'),
TokenTypeError: createError('TokenTypeError'),
EmailAlreadyRegisteredError: createError('EmailAlreadyRegisteredError'),
PermissionDeniedError: createError('PermissionDeniedError'),
NotFoundError: createError('NotFoundError'),
NotUpdatedError: createError('NotUpdatedError'),
NotRemovedError: createError('NotRemovedError'),
UserActivatedError: createError('UserActivatedError'),
UserDeActivatedError: createError('UserDeActivatedError'),
UserPendingError: createError('UserPendingError'),
InvalidDataError: createError('InvalidDataError'),
RecordCreationError: createError('RecordCreationError'),
InvalidTokenError: createError('InvalidTokenError'),
TokenExpiredOrRevokedError: createError('ExpiredOrRevokedTokenError'),
NullOrUndefinedReferenceError: createError('NullOrUndefinedReferenceError'),
PasswordError: createError('PasswordError'),
ReactivationPeriodNotElapsedError: createError('ReactivationPeriodNotElapsedError'),
PermissionNotFoundError: createError('PermissionNotFoundError'),
InvalidEmail: createError('InvalidEmail'),
InvalidPasswordError: createError('InvalidPasswordError'),
InvalidLoginAttempt: createError('InvalidLoginAttempt'),
ActivationCodeGenerationError: createError('ActivationCodeGenerationError'),
ActivationCodeError: createError('ActivationCodeError'),
UnauthorizedError: createError('UnauthorizedError'),
ConnectionRefused: createError('ConnectionRefused'),
// ppl-marketplace
PurseAlreadyExists: createError('PurseAlreadyExists')
InvalidInputError: createError('InvalidInputError'),
TimeoutError: createError('TimeoutError'),
AlreadyExistsError: createError('AlreadyExistsError')
}

@@ -6,4 +6,27 @@ 'use strict'

const Errors = require('./errors')
const defaultBoomMapping = require('./boom-mapping')
const mapping = require('./boom-mapping')
/**
Native errors in Node.js:
=========================
<EvalError> : thrown when a call to eval() fails.
<SyntaxError> : thrown in response to improper JavaScript language syntax.
<RangeError> : thrown when a value is not within an expected range
<ReferenceError> : thrown when using undefined variables
<TypeError> : thrown when passing arguments of the wrong type
<URIError> : thrown when a global URI handling function is misused.
// We probably just want to convert these to standard 500
if (
origErr instanceof EvalError ||
origErr instanceof SyntaxError ||
origErr instanceof RangeError ||
origErr instanceof ReferenceError ||
origErr instanceof TypeError ||
origErr instanceof URIError
) {
return Boom.badImplementation(origErr.message, errParams)
}
*/
module.exports = {

@@ -16,26 +39,25 @@ /**

*/
toBoom: (err, mapping) => {
if (typeof mapping !== 'object') mapping = defaultBoomMapping
toBoom: (err, customErrors, customMapping) => {
// add custom errors, if any. Overwrites default custom errors if duplicate key is specified
if (typeof customErrors === 'object') _.assignIn(Errors, customErrors)
let errData = _.cloneDeep(err)
delete errData.message
// add custom mapping, if any. Overwrites default mapping if duplicate keys are specified
if (typeof customMapping === 'object') _.assignIn(mapping, customMapping)
const origErr = _.deepClone(err)
const errParams = _.omit(err, 'message')
let boomError = (() => {
for (let boomErr of Object.keys(mapping)) {
for (let serviceErr of mapping[boomErr]) {
if (err instanceof Errors[serviceErr]) {
return Boom[boomErr](err.message, errData)
for (let customErr of mapping[boomErr]) {
if (origErr instanceof Errors[customErr]) {
return Boom[boomErr](origErr.message, errParams)
}
}
}
})()
})() || Boom.wrap(origErr) // defaults to HTTP 500 status
if (!boomError) {
boomError = Boom.wrap(err)
boomError.data = errData
}
// Make err.data publicly available so we can send extra intel like custom error codes.
// err.data can be filled in the last parameter of any Boom function.
boomError.output.payload.params = boomError.data
boomError.output.payload.params = errParams

@@ -42,0 +64,0 @@ return boomError

{
"name": "@c8/errors",
"version": "0.0.10",
"version": "0.1.0",
"description": "Common errors and their utils used by C8 management",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -0,0 +0,0 @@ # @c8/errors

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc