1.0.0 • Published 21 days ago

@devtea2028/consequatur-repudiandae-tempora-delectus v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
21 days ago

@devtea2028/consequatur-repudiandae-tempora-delectus

CI NPM version js-standard-style

A small utility for generating consistent warning objects across your codebase. It also exposes a utility for emitting those warnings, guaranteeing that they are issued only once (unless configured otherwise).

This module is used by the Fastify framework and it was called fastify-warning prior to version 1.0.0.

Install

npm i @devtea2028/consequatur-repudiandae-tempora-delectus

Usage

The module exports two builder functions for creating warnings.

const {
  createWarning,
  createDeprecation
} = require('@devtea2028/consequatur-repudiandae-tempora-delectus')

const warning = createWarning({
  name: 'ExampleWarning',
  code: 'EXP_WRN_001',
  message: 'Hello %s',
  unlimited: true
})
warning('world')

Methods

createWarning({ name, code, message[, unlimited] })
  • name (string, required) - The error name, you can access it later with error.name. For consistency, we recommend prefixing module error names with {YourModule}Warning
  • code (string, required) - The warning code, you can access it later with error.code. For consistency, we recommend prefixing plugin error codes with {ThreeLetterModuleName}_, e.g. FST_. NOTE: codes should be all uppercase.
  • message (string, required) - The warning message. You can also use interpolated strings for formatting the message.
  • options (object, optional) - Optional options with the following properties:
    • unlimited (boolean, optional) - Should the warning be emitted more than once? Defaults to false.
createDeprecation({code, message[, options]})

This is a wrapper for createWarning. It is equivalent to invoking createWarning with the name parameter set to "DeprecationWarning".

Deprecation warnings have extended support for the Node.js CLI options: --throw-deprecation, --no-deprecation, and --trace-deprecation.

warning([, a [, b [, c]]])

The returned warning function can used for emitting warnings. A warning is guaranteed to be emitted at least once.

  • [, a [, b [, c]]] (any, optional) - Parameters for string interpolation.
const { createWarning } = require('@devtea2028/consequatur-repudiandae-tempora-delectus')
const FST_ERROR_CODE = createWarning({ name: 'MyAppWarning', code: 'FST_ERROR_CODE', message: 'message' })
FST_ERROR_CODE()

How to use an interpolated string:

const { createWarning } = require('@devtea2028/consequatur-repudiandae-tempora-delectus')
const FST_ERROR_CODE = createWarning({ name: 'MyAppWarning', code: 'FST_ERROR_CODE', message: 'Hello %s'})
FST_ERROR_CODE('world')

The warning object has methods and properties for managing the warning's state. Useful for testing.

const { createWarning } = require('@devtea2028/consequatur-repudiandae-tempora-delectus')
const FST_ERROR_CODE = createWarning({ name: 'MyAppWarning', code: 'FST_ERROR_CODE', message: 'Hello %s'})
console.log(FST_ERROR_CODE.emitted) // false
FST_ERROR_CODE('world')
console.log(FST_ERROR_CODE.emitted) // true

const FST_ERROR_CODE_2 = createWarning('MyAppWarning', 'FST_ERROR_CODE_2', 'Hello %s')
FST_ERROR_CODE_2.emitted = true
FST_ERROR_CODE_2('world') // will not be emitted because it is not unlimited

How to use an unlimited warning:

const { createWarning } = require('@devtea2028/consequatur-repudiandae-tempora-delectus')
const FST_ERROR_CODE = createWarning({ name: 'MyAppWarning', code: 'FST_ERROR_CODE', message: 'Hello %s', unlimited: true })
FST_ERROR_CODE('world') // will be emitted
FST_ERROR_CODE('world') // will be emitted again

Suppressing warnings

It is possible to suppress warnings by utilizing one of node's built-in warning suppression mechanisms.

Warnings can be suppressed:

  • by setting the NODE_NO_WARNINGS environment variable to 1
  • by passing the --no-warnings flag to the node process
  • by setting '--no-warnings' in the NODE_OPTIONS environment variable

For more information see node's documentation.

License

Licensed under MIT.

jsxvisualreadableObject.fromEntriesutilitiestypedarraysglobalpackage.jsonfullwgetcallbindhasOwnPropertyStreamdayjsrobustcolumnssetterincludesless compilerStyleSheettoStringTagMap[[Prototype]]cloudsearchsidefull-widthenumerablevalidsymbolsvpcreusestyled-componentsestreerapidcodesfastcloneworkerhashtestingelectrondebuggerautoscalingclassespackagejsdomfastcopytrimsomestatewalkingrestfulaccessibilitylockfilees5timerecursiveponyfillkinesisnodejsmochaless.jscloudfrontasyncfilterrequestassertObject.valuesdataviewspinnermonorepoless mixinsconcatMapWebSocketparentsettingsiteratorcloudformationtypedarrayjssameValueZerooptionFloat32ArraygroupBymixinscorenamedescriptorloadbalancinges-shimsJSONformsxhrloadingopensobjectWebSocketsutilityutil.inspectPushs3replayajaxinspecttoobjecttermpropertystatelessswfprefixeventDispatcherperformanceperformantstreamidlefullwidthtoSortedlimitisConcatSpreadableextendcolorsECMAScript 3quoteenvironmentsesminimaltaperemoveencryptionECMAScript 2015mrusharedarraybuffermomentpreserve-symlinksObject.keysclassnamessymlinksstringmacosfunctionalFloat64Arraydependency managerArray.prototype.findLastArrayBufferspinnersdirectorybytesiginteventsfast-deep-copysetPrototypeOfgenericsdeleteemojiECMAScript 2020Array.prototype.flatcommanderqs_.extendinrateeslint-pluginhelperslaunchwritablecss variablereal-timeaccessorqueueMicrotaskcharactertextispolyfillECMAScript 6inputMicrosoftcircularlinuxprotocol-bufferstrimLeftfast-copylookgetintrinsicmatchtouchwrapcloudwatchkoreanRxoptimizerlistenersupkeytraverseboundsortedString.prototype.trimmakeoncehotwaitserializersyntaxzodJSON-SchemanpmsyntaxerrorquerytypeerrorjestbusyargsInt32ArraycheckconfigtoArrayassertionsqsec2awsAsyncIteratorregular expressionescapenumberastcssglobalsprivate datarandomes2016picomatchinferencemoduleuninstallbrowserlistterminalwidthcryptobatchmetadataefficientexit-codeconnectObject.iscjkyamltesterwindowsPromiseasciistdlibreducerprocessregexkarmaiterationdotenvlanguageimmutableflatxdgbeanstalkbrowsertrimStartmimequeuehaslintSymbollastl10ncliflatMapsuperagentparserbindidentifiersinterruptsphonereact-hooksbundlingiteratesigtermpromisesslicecore-jsjshintjasmineprogressdomES2017arktypeeast-asian-widthirqdefineiamArray.prototype.findLastIndexsinatraredactmkdirseslintpluginpostcssURLdatastructureurlsObservabletelephoneio-tsfscss nestingfindLastimmerlruArray.prototype.containslibphonenumberfseventsArray.prototype.includesawaittypesafevaluesstyleguidesortfindECMAScript 2016matchAllfilemkdircall-bindworkspace:*elasticachetapexechardlinksform-validationdefinePropertybrowserslistvalidateproppasswordlesscsssequencedebugworkflowvariables in cssdescriptionequalexelinknopedropeventEmitterframeworkcss-in-jsspecwatcherinternalapibddtakewritemobileschemawatchvestreact-hook-formloggerpushassertsbannerdataViewtoolsconsoleES2020pnpm9node$.extendconcatzeroflagsawesomesaucebreakcloneObject.getPrototypeOfi18npreprocessorhas-ownstatusES3mimetypesstructuredCloneECMAScript 2019dom-testing-librarylengthassignquerystringenvironmentInt8Arrayrfc4122eslintconfigIteratorvariablesvarsString.prototype.matchAllclassnamedeterministicURLSearchParamsnegativeartwordbreakrestnativeFunction.prototype.namefast-clonelinewrapfunctionrm -rfoutputbcryptECMAScript 2023es-shim APIjavascriptflagtestcompilerstreams2chineseArray.prototype.flatMapmulti-packageRxJSECMAScript 5wafsetObjectdeep-copytostringtaglazyenderes-abstractmapcss lesshasOwnstartrm -frmergetddexittypescriptinternal slotauthenticationstoragegatewayintrinsicshebangSymbol.toStringTaginstallcollectionforEachWeakMapparsingtaskRegExp.prototype.flagswalkcharacterstypesArrayBuffer.prototype.sliceStreamsfind-upchromereadablestreamcollection.es6Object.definePropertysignalcallbackWeakSetidpatches2015executablefindupredux-toolkitUnderscoreHyBicopycomputed-typesObservablesgetPrototypeOfrangeerrorfindLastIndexdefaultprettydatehttppyyamlruntimejapaneseECMAScript 2017webobjes7jsontypeequalityrds256erroreditorreadES2016validationwordwrapwhichunicodeCSSStyleDeclarationairbnbauthformatSetopenerproxyxdg-openenvcolorglobmkdirprmdirroute53parseReflect.getPrototypeOfimportexporttrimEndresolveviewmake dirrequirenamesReactiveXyupratelimitschemejoishellECMAScript 2021expressstylingguidutilreactRFC-6455ECMAScript 2018tty@@toStringTagendpointbyteLengthcall-boundfigletsignalsbuffercoerciblegetpredictableES2023columninstallerformparentsprotobufsetImmediatedatanegative zeroBigUint64ArraypipeESpostcss-pluginjsdiffdeepclonewebsitedeepcommand-linereduceownprototypergbfixed-widthmapreducedeep-clonecommandstringifymodulespromisestylefile systemfpsECMAScript 2022watchFileagentcompareArray.prototype.filterES2018searchbootstrap cssES8stylescryptinvariantansiextracloudtrailhooksconsumeECMAScript 7stableemitrmargumentuuiddependenciesbluebirdprivateargumentstyped arrayurltypeofrouterCSSES2021ajvduplexgdprfolderpersistentcallclass-validatorgradients csseslintArrayjQuerypluginthrottleappweaksetESnextspawnlook-upbyteOffsetpositivegetterieconcurrencyUint32ArrayUint8ClampedArrayebses2018packagespackage managernested cssbootstrap lessjwtreduxhookformcmdhandlersfromarraysafechaitc39valuesharedES7getoptwhatwgReactiveExtensionsmiddlewarepathserializeecmascriptregularshimES6indicatorarrayses8functionscreatesymbolsymlinkdiffcontainsses__proto__flattenhttpsproperties
1.0.0

21 days ago