1.0.0 • Published 13 days ago

@osjwnpm/est-fugiat-neque v1.0.0

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

@osjwnpm/est-fugiat-neque Version Badge

github actions coverage License Downloads

npm badge

parse argument options

This module is the guts of optimist's argument parser without all the fanciful decoration.

example

Example files: example/parse.js (CJS) / example/parse.mjs (ESM)

// for CJS
const argv = require('@osjwnpm/est-fugiat-neque')(process.argv.slice(2));

// for ESM
// import @osjwnpm/est-fugiat-neque from '@osjwnpm/est-fugiat-neque';
// const argv = @osjwnpm/est-fugiat-neque(process.argv.slice(2));
console.log(argv);
$ node example/parse.js -a beep -b boop
{ _: [], a: 'beep', b: 'boop' }
$ node example/parse.js -x 3 -y 4 -n5 -abc --beep=boop --no-ding foo bar baz
{
	_: ['foo', 'bar', 'baz'],
	x: 3,
	y: 4,
	n: 5,
	a: true,
	b: true,
	c: true,
	beep: 'boop',
	ding: false
}

methods

const parseArgs = require('@osjwnpm/est-fugiat-neque');

const argv = parseArgs(args, opts={})

Return an argument object argv populated with the array arguments from args.

argv._ contains all the arguments that didn't have an option associated with them.

Numeric-looking arguments will be returned as numbers unless opts.string or opts.boolean contains that argument name. To disable numeric conversion for non-option arguments, add '_' to opts.string.

A negated argument of the form --no-foo returns false for option foo.

Any arguments after '--' will not be parsed and will end up in argv._.

options can be:

  • opts.string - a string or array of strings argument names to always treat as strings
  • opts.boolean - a boolean, string or array of strings to always treat as booleans. if true will treat all double hyphenated arguments without equal signs as boolean (e.g. affects --foo, not -f or --foo=bar)
  • opts.alias - an object mapping string names to strings or arrays of string argument names to use as aliases
  • opts.default - an object mapping string argument names to default values
  • opts.stopEarly - when true, populate argv._ with everything after the first non-option
  • opts['--'] - when true, populate argv._ with everything before the -- and argv['--'] with everything after the --. Here's an example:

    > require('./')('one two three -- four five --six'.split(' '), { '--': true })
    {
      _: ['one', 'two', 'three'],
      '--': ['four', 'five', '--six']
    }

    Note that with opts['--'] set, parsing for arguments still stops after the --.

  • opts.unknown - a function which is invoked with a command line parameter not defined in the opts configuration object. If the function returns false, the unknown option is not added to argv.

install

With npm do:

npm install @osjwnpm/est-fugiat-neque

license

MIT

s3JSON-SchemaelectrondeepcopycorsrmdirjasminegetintrinsiceventscheckPushmapoptiones2015trimArrayBufferclidefineisConcatSpreadableURLSearchParamszodentriesextensioninternalstableprototaskwritablevaluedirless mixinsreadableprivateECMAScript 3eventDispatcherpolyfillspinnersestreeurlutillibphonenumbercoercibleonceswfregular expressionsextendflattenparentdynamodbrdsprettyes2017setPrototypeOfbrowserstylesameValueZeropackage.json_.extend256fseventsimportnamesjsdiffgroupByArray.prototype.flatMapsuperstructairbnbURLchromefastcopyjQuery@@toStringTagcss-in-jssessyntaxoptimizerprotobuftddbootstrap lessclassnamefilterweakmapkeyssidetyped arrayapiUnderscoremimeutil.inspectsymbolwhatwghigher-orderjapanesecryptremoveimportexportless cssWebSockets-0callbindemrhttpspeeddeep-clonepasswordrapidsharedarraybuffernativeredactmetadatagradients csspipeObject.entriesWeakSetfastcloneredux-toolkitmkdirpes8rangeerrornodeassigncoreslicebatchdeep-copyArrayBuffer#sliceString.prototype.trimESnextserializeaccessorfunctionaltoArraytostringtagReflect.getPrototypeOfArray.prototype.findLastdeterministiceslint-pluginjsonpathformmimetypescode pointsasyncJSONgetenvironmentl10nawaitrmInt32Arraytslibimmertestingrequirefile systemguidredirecttrimEndes7Symbol.toStringTagfast-clonepackage managerECMAScript 2017starterworkspace:*prototypebrowserslistfastFunction.prototype.nameECMAScript 2022definePropertytapeECMAScript 6descriptorshasOwnPropertyAsyncIteratorruntimecircularpreserve-symlinksvaluescollection.es6busybreak0picomatchmixinsArrayBuffer.prototype.slicedateFloat64ArraydeepagentObjectawsencryptiontakestateglaciereveryprogresstextECMAScript 2018mkdirsbindreducerjoinegativeECMAScript 2020Promiseqsfast-copyeventEmitterstdlibreact-hookshasawesomesaucereduxwatchFileopenshamincludespnpm9sortedtseslintwatchermonoreporoutefinddataViewfindLastkinesisttywrapsomeECMAScript 2023webcallconcatapollominimalloggingcloudwatchmodulefull-widthkeycontainsmoduleswatchingstreamoptimistpostcss-pluginespreemakeflatMapchannellogpushlessvisualjsonmapreducehardlinksrateregexavaWebSocketshimnameajaxboundpreprocessorparselazyObject.getPrototypeOfcharactersStreamsloadingform-validationvestbcryptbundleroffsetprunetouchnpmloggerString.prototype.matchAllarraywarningquerynodejsiteratoromitregularcall-boundowncodesinstallforEachES2021internal slotwalkingelbpluginwalkinstallersearchmatchesbannerECMAScript 2019diffshebangWeakMapreactutilitiesprefixrfc4122ES6languageFloat32Arrayclass-validatorxhrYAMLthrottlejsdomcsscolumnperformanceemojisortexpressionkoreanobjectcloudformationasciihas-ownvariables in csscensorstylesheetdependenciesgetoptObject.valuescreateObject.fromEntriesbufferslimitedschemareact-hook-formprivate dataglobUint16ArrayastInt16ArrayfolderxtermfindLastIndexstatelessquerystringlruautoscalingnegative zeroES2022packagespromisewaitSymboldescriptionreplayconcurrencycurles6fast-deep-clonelimitaccessibilityRegExp#flagscolorscallbounddomincommandfileflagstoolsexecStreamsnsstreamsObject.definePropertysafetrimStartefficienthttpsupframeworktypanionduplexmatchvariablesbundlingcolorreal-timestringifywidthcryptocjkhashcoloureslintplugindeletetermhelperseslintconfigcompareauthESgradients css3phonedatacss variablekarmaArray.prototype.includesqueueMicrotaskjsjwtcommandergdprrm -frObject.isuuidielocationtypeerrorextrawordwrapfullautoprefixerec2typesafeArray.prototype.findLastIndexpropertiessharedArrayinspectcloudtrailequalityenv[[Prototype]]toobjectRFC-6455jsxmiddlewareStyleSheetstructuredCloneworkflowmulti-packageargvES7ES2015fsprotocol-buffersbddshellstreams2requestarktypesettingsidlesqsUint8ArrayfpsmkdirrgbReactiveXdatastructuretrimLeftfast-deep-copytoolkitrm -rfes5byteOffsetquoteformatserializationansitelephonecomputed-typesobjshrinkwrapdropMicrosoftRxsimpledbscheme-validationreact-testing-librarypostcss$.extendvalidationBigInt64Arrayi18nECMAScript 5lookhookformunicodewordbreakwatchpropertyloadbalancingdebugstringtypescall-bindless.jsconfigenderargumentES2017toStringTagES2018pathgraphqlcloudfrontperformantstylingbufferesequalflatmomentlastmrugetOwnPropertyDescriptorcompilerstyled-componentsconfigurableregexpES2020genericsstringifierargseast-asian-widthinferencepackageistimeinvariantlesscssRxJSslotreuseelmamazonartoutputsymlinkslockfileexpressECMAScript 7TypeBoxyupwriteRegExp.prototype.flagsmime-dbschemehookssetterclasseswgetmochapredictablenested cssdirectorycharactergetteridtrimRightcloneInt8Arraychaidependency managerreadstoragegatewayArray.prototype.containsponyfillbluebirdcopyconsumeTypedArraytypewafescapeIteratorlinkcolumnsendpointspinnerfetchsetfindupclientArray.prototype.flatconcatMapreducechinesecloudsearchES3listenersclassnamesfigletweaksetdebuggerhasOwnqueueECMAScript 2015moveecmascriptes-shimsrandomio-tsmergelook-upthroatfind-upviewpersistentlengthroutinglintArray.prototype.filterjestcallbacktypescriptinputsymbolsless compilersuperagentObject.keysflagresolvetestererrorpositivezeroObservablesECMAScript 2021formsfullwidthtypedarrays__proto__specarraysparseriteratestylesargparseUint32Arrayiamcachesyntaxerrorcollection.envregular expressionformattingReactiveExtensionstc39byteLengthcss lessUint8ClampedArraytypeofhotTypeScriptcompile lessauthenticationfixed-widthSetdescriptornumbercss nestingvalidajvconnectroute53ES5ES8styleguidecommand-lineCSSStyleDeclarationCSSliveObservableutilityterminalsymlinktypedarrayparentsdataviewarraybufferfunctiondom-testing-libraryrecursiveassertiongroupfastifyproxyiterationvalidatepatchmake dirlinewrapes2016es-shim APItraverseintrinsicchromiumcore-jsMapnopedayjsratelimittypedtaptoSortedmobilematchAllemites2018setImmediateenumerablebeanstalkimmutableArray.prototype.flattenrobustassertsECMAScript 2016propconsoleES2019sequenceelasticachebyte
1.0.0

13 days ago