1.0.0 • Published 1 year ago

@crabas0npm/illo-ad-ipsum v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

logomakr_6nl700

All Contributors Build Status codecov npm GitHub license Maintenance

Motivation

This package was created to add a general way to handle exception for express application with the expectation to make it simpler to handle all possible requests.

Installation

add it to your project with npm install @crabas0npm/illo-ad-ipsum or yarn add @crabas0npm/illo-ad-ipsum

Use

there are 2 different ways to integrate the main functionality of this package, either by adding the handle that gets injected to the router framework

var exceptionHandler = require('@crabas0npm/illo-ad-ipsum')
exceptionHandler.handle()
const app = require('express')()

or by wraping manually the routes

var wrap = require('@crabas0npm/illo-ad-ipsum').wrap
router.post('/', wrap(async (req, res) => {
    ...
}))

it also integrates an extended class from Error that contains a message and a status that can be used to pass diferent information to the error handle

var httpError = require('@crabas0npm/illo-ad-ipsum').exception
router.post('/', async (req, res) => {
    throw new HttpError('Great Message', 400, "{Response: awesome}")
}))

last but not least it also contains a middleware that can be added directly to express that handles the previous named errors.

var middleware = require('@crabas0npm/illo-ad-ipsum').middleware
const app = require('express')()
app.use(middleware)

Options

The handle and the wrap function allow configuration parameters to be passed. The default is:

{
  nextOnce: true,
  defaultJsonResponse: false,
}
  • nextOnce: makes sure next can only be called once
  • defaultJsonResponse: runs res.json by default when the internally returned value is an object.

Logo

Arrows graphic by madebyoliver from Flaticon is licensed under CC BY 3.0. Check out the new logo that I created on LogoMaker.com https://logomakr.com/6nL7006nL700

Contributors

Thanks goes to these wonderful people (emoji key):

This project follows the all-contributors specification. Contributions of any kind welcome!

signalJSONagentarraysupdirregular expressionsasciireduxObject.isavadataViewvisualchinesecacherateopenerstreams2bootstrap cssstylesreadexitauthkarmaArray.prototype.includesStreamshasOwnPropertyfastclonenodevalueclonelistenersenvironmentssyntaxerrorintrinsicprotocensorsimpledbpyyamlstablepnpm9fastvpcdeterministicES2022YAMLmapfullwidthrestlanguagegetopttypesafesinatraes2018immutable-0URLforEachpropertiessyntaxdatadescriptorswatchFileinternal slotpushnopeoffsetwebidsymbolstermfigletfunctionES2015astjoistyleguidecallbounddescriptionES6private dataECMAScript 2023cliECMAScript 7ArrayBuffer.prototype.sliceInt16ArrayloggingdebuggerwaftoolkitObject.keysawsreact-hook-formdataviewArray.prototype.findLastIndexqueuewindows.enves2017findLastinspectbusyvaluesspeedjasminejapanesemkdirssettingsrm -frjwtBigInt64Arraycomputed-typeschailinewrapdeleteexecutablearraybufferes-abstractconcurrencyrmdirextendparseencryptioncode pointscsssymlinkreal-timevarsECMAScript 2020preserve-symlinkssuperagentstartertoSortedES7class-validatorworkspace:*fast-deep-copyRxJSenumerableless compileriteratequeryperformancemobileES2017setPrototypeOftapflages2016ECMAScript 2016Setes5multi-packagelimitvesttouchnodejsbundlerStreamargparsetypedform-validationnegative zeromapreduceinvariant[[Prototype]]ajvfserrorswfeventEmitterReactiveXtostringtagtestwatcherpathlessduplexcurlfixed-widthoptimizerhotfunctionalArray.prototype.flatECMAScript 6fastifylibphonenumbershamseslaunchreducerhas-ownIteratorhookswatchingbyteOffsetutilitiesrobustrmmatchesreadablecharacterentriesSymbol.toStringTagbindserializeArray.prototype.containses-shim APIdom-testing-librarymimerapidmergeflatequalityargsbannerconcatiteratorparsingWebSocketroute53Object.entriesjavascriptstdlibdotenvArray.prototype.flatMapdependenciescollectionformthroatsameValueZeroReflect.getPrototypeOfslicecontainsurlses2015runtimemkdirdeepclonesqsURLSearchParamsassertionauthenticationremovecompile lessweakmapminimalbatchwalkingansiArrayBuffer#slicefpssharedarraybuffercss-in-jscloudtrailhandlerspolyfilldateesemrcolorregexphardlinkshelperswatchprotocol-buffersvalidatehookformfseventsbyteLengthawesomesaucecoretrimStartvariablesbreakdropmochaemojicryptkeysTypedArrayxdg-openextensiondayjsinferenceiewriteopenArray.prototype.flattencommandflatMapmimetypesrdsmonorepoformstrimEndredux-toolkitpromisespersistentjestfetchUint32ArrayjshintfiltergenericsstreamswaitxtermcompareartUint8ArrayconcatMaptesterdynamodbclassnamenested csscopyWeakSetextraomitautoscalingchromiumsetImmediatecallbackpromiseeditorbcryptescapePushgetOwnPropertyDescriptorproxypropponyfillarrayrecursiveArray.prototype.filterestreeeventsworkflowebsecmascripttelephonetoobjectdependency managercloudfrontObject.valuessharedcallcss variableajaxregular expressionlinuxoptiondefineString.prototype.trimAsyncIteratorprettystateObject.fromEntriesclassesclassnamesbrowserliststreamtaskfindLastIndexES2019inassertcloudwatchsideratelimitargumentsES2021prunergbs3phoneECMAScript 2018assertsglobdebugsigint@@toStringTagimmerlinkpostcssstringgdprfileUint16ArrayasynciterationexeMapbundlingnamelintwhatwgstyleUint8ClampedArrayES2023Int32ArrayrestfulshebangregularsymlinksES2018fromcircularsortedWebSocketskoreanmodulesurlscheme-validationvalidationRegExp.prototype.flagsexpressschemaspinnersInt8ArraywalkglaciertrimLeftresolvehttprfc4122testingiameslintpluginmixinssearchqsshimbootstrap lesspostcss-pluginenderownnameses-shimshashcoercibleimportparentscloudformationrouterwhich_.extendarktypeutilregextypeszodMicrosoftTypeScripttextviewreuseflattenloadingconfigECMAScript 2017spinnercorsjsonpathprototypeprocesswebsitedomES3middlewaretypedarraysstringifycryptospawnstructuredClonecall-boundrm -rfbyteinstallereventDispatcherFunction.prototype.namenativeReactiveExtensionsconsumecolorsESES2020querystringRegExp#flags256globalsreactisthrottleeast-asian-widthio-tscolumnnegativedescriptorlookhasOwnmkdirpworkerquotepackagejsxpackage managerstyled-componentstyped arrayECMAScript 2019superstructRxsomeuuidbrowsergradients css3predictableaccessorwordwrapcolourPromisesorteslintconfigjsdiffCSSStyleDeclarationkeyawaitcss lesswgetsnstimetrimwidthqueueMicrotaskshellObject.definePropertystatelesscodespackage.jsondefinePropertyargvindicatorspecjsframeworkidleUnderscorecharactersxdgmatchAllsetcommanderchannelstylingelmfindupoptimistzerorequestsymbolkinesistypanionelbrandomdirectorygroupstoragegatewayjsdommomentparserreplayslotbrowserslistexecpicomatchrequirepropertyfast-copyterminalmoduleshrinkwrapgradients cssglobalhasES2016compilerfindbluebird__proto__css nestingtypeerroropensconnectredactloadbalancingwrapdeepcopyBigUint64ArrayRFC-6455movestatusidentifierses8jQuerytapeyamlString.prototype.matchAlli18nCSS
1.0.0

1 year ago