yargs-factory.ts ×2

Frontier kind: Code frontier

unlabeled · c_6f14012947d0

13 tests · 2265 LOC · 18 files · introduces 0 tests · 11 LOC · 1 file

Introduces — evidence that enters the hierarchy at this concept

Code
2 ranges11 lines · 1 files
Tests
0 tests

Contains — complete concept membership

All code (extent)
416 ranges2265 lines · 18 files · Browse complete extent
All tests (intent)
13 testsBrowse complete intent

Neighbourhood graph

The orange circle is the focus. Violet and green circles are every ancestor and descendant, broader and narrower, at any distance; blue squares and pink diamonds are the introduced files and exact introduced tests of every visible concept, not only the focus's. Arrows point from broader to narrower concepts and bridge only concepts omitted from this view. Undirected links show source or test introduction. Concept and file size follows LOC; exact test nodes use test-count units.

Introduced files, introduced tests, and structurally relevant concept specialization

In the embedded map, ordinary wheel input scrolls the page; use the visible controls to zoom and drag to pan. Open the full-screen map for canvas navigation: wheel pans, Ctrl/Command plus wheel zooms, and arrow keys pan when this region is focused. On touch screens, open the full-screen map to pan or pinch. If JavaScript or WebGL is unavailable, use the native relationship evidence on this page.

Introduced files, introduced tests, and structurally relevant concept specializationvalidation.mjs|title=validation tests requiresArg does not fail if argument with required value is not provided to subcommand|occurrence=1 · 0 introduced LOCvalidation.mjs|title=val…usage.mjs|title=usage tests required arguments with requiresArg method should show a failure message if a required option is missing|occurrence=1 · 0 introduced LOCusage.mjs|title=usage te…usage.mjs|title=usage tests required arguments with options object should show a failure message if a required option is missing|occurrence=1, usage.mjs|title=usage tests required arguments with options object should show a failure message if more than one required option is missing|occurrence=1 · 0 introduced LOCusage.mjs|title=usage te…validation.mjs|title=validation tests requiresArg fails when a required argument value of type array is missing|occurrence=1 · 0 introduced LOCvalidation.mjs|title=val…validation.mjs|title=validation tests requiresArg fails when a required argument value of type number is missing|occurrence=1 · 0 introduced LOCvalidation.mjs|title=val…validation.mjs|title=validation tests requiresArg fails when a required argument value of type string is missing|occurrence=1 · 0 introduced LOCvalidation.mjs|title=val…validation.mjs|title=validation tests requiresArg fails when a required argument value of type boolean is missing|occurrence=1 · 0 introduced LOCvalidation.mjs|title=val…usage.mjs|title=usage tests required arguments still requires argument if 'type' hints are given|occurrence=1 · 0 introduced LOCusage.mjs|title=usage te…validation.mjs|title=validation tests requiresArg does not fail if argument with required value is not provided|occurrence=1 · 0 introduced LOCvalidation.mjs|title=val…yargs.mjs|title=yargs dsl tests "nargs" with "array" should apply nargs with higher precedence than requiresArg()|occurrence=1 · 0 introduced LOCyargs.mjs|title=yargs ds…yargs.mjs|title=yargs dsl tests "nargs" with "array" should apply nargs with higher precedence than requiresArg: true|occurrence=1 · 0 introduced LOCyargs.mjs|title=yargs ds…yargs-factory.ts ×1 · 1 introduced LOCyargs-factory.ts ×1yargs.mjs|title=yargs dsl tests should allow array and requires arg to be used in conjunction|occurrence=1 · 0 introduced LOCyargs.mjs|title=yargs ds…yargs-factory.ts ×1 · 2 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×1 · 9 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×1 · 6 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×2 · 53 introduced LOCyargs-factory.ts ×2yargs-factory.ts ×3 · 3 introduced LOCyargs-factory.ts ×3usage.ts ×2 · 8 introduced LOCusage.ts ×2yargs-factory.ts ×1 · 2 introduced LOCyargs-factory.ts ×1middleware.ts ×3 · 13 introduced LOCmiddleware.ts ×3yargs-factory.ts ×3 · 10 introduced LOCyargs-factory.ts ×3yargs-factory.ts ×2 · 9 introduced LOCyargs-factory.ts ×2yargs-factory.ts ×2 · 3 introduced LOCyargs-factory.ts ×2yargs-factory.ts ×1 · 2 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×5 · 66 introduced LOCyargs-factory.ts ×5yargs-factory.ts ×5 · 11 introduced LOCyargs-factory.ts ×5yargs-factory.ts ×5 · 20 introduced LOCyargs-factory.ts ×5yargs-factory.ts ×1 · 1 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×2 · 8 introduced LOCyargs-factory.ts ×2usage.ts ×1 · 10 introduced LOCusage.ts ×1yargs-factory.ts ×9 · 72 introduced LOCyargs-factory.ts ×9yargs-factory.ts ×1 · 2 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×1 · 4 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×1 · 3 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×1 · 2 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×1 · 3 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×2 · 7 introduced LOCyargs-factory.ts ×2command.ts ×1 · 2 introduced LOCcommand.ts ×1yargs-factory.ts ×1 · 20 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×1 · 2 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×1 · 2 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×1 · 2 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×35 · 577 introduced LOCyargs-factory.ts ×35yargs-factory.ts ×124 · 1015 introduced LOCyargs-factory.ts ×124argsert.ts ×1 · 1 introduced LOCargsert.ts ×1argsert.mjs|title=Argsert allows for any type if * is provided|occurrence=1, argsert.mjs|title=Argsert should ignore trailing undefined values|occurrence=1 · 0 introduced LOCargsert.mjs|title=Argser…argsert.ts ×1 · 7 introduced LOCargsert.ts ×1argsert.ts ×1 · 1 introduced LOCargsert.ts ×1argsert.ts ×1 · 7 introduced LOCargsert.ts ×1argsert.ts ×1 · 2 introduced LOCargsert.ts ×1argsert.ts ×1 · 1 introduced LOCargsert.ts ×1argsert.ts ×2 · 3 introduced LOCargsert.ts ×2argsert.ts ×3 · 6 introduced LOCargsert.ts ×3parse-command.ts ×1 · 4 introduced LOCparse-command.ts ×1parse-command.ts ×1 · 5 introduced LOCparse-command.ts ×1parse-command.ts ×3 · 19 introduced LOCparse-command.ts ×3process-argv.ts ×1 · 5 introduced LOCprocess-argv.ts ×1process-argv.ts ×3 · 14 introduced LOCprocess-argv.ts ×3argsert.ts ×1 · 3 introduced LOCargsert.ts ×1apply-extends.ts ×4 · 9 introduced LOCapply-extends.ts ×4argsert.ts ×4 · 27 introduced LOCargsert.ts ×4obj-filter.ts ×2 · 10 introduced LOCobj-filter.ts ×2argsert.ts ×3 · 13 introduced LOCargsert.ts ×3common-types.ts ×4 · 134 introduced LOCcommon-types.ts ×4process-argv.ts ×5 · 13 introduced LOCprocess-argv.ts ×5is-promise.ts ×2 · 7 introduced LOCis-promise.ts ×2parse-command.ts ×1 · 6 introduced LOCparse-command.ts ×1parse-command.ts ×2 · 14 introduced LOCparse-command.ts ×2yerror.ts ×2 · 4 introduced LOCyerror.ts ×2is-promise.ts ×1 · 1 introduced LOCis-promise.ts ×1lib/argsert.ts · 101 LOClib/argsert.tslib/command.ts · 876 LOClib/command.tslib/completion-templates.ts · 58 LOClib/completion-templates…lib/completion.ts · 414 LOClib/completion.tslib/middleware.ts · 134 LOClib/middleware.tslib/parse-command.ts · 44 LOClib/parse-command.tslib/typings/common-types.ts · 145 LOCtypings/common-types.tslib/usage.ts · 835 LOClib/usage.tslib/utils/apply-extends.ts · 79 LOCutils/apply-extends.tslib/utils/is-promise.ts · 9 LOCutils/is-promise.tslib/utils/levenshtein.ts · 72 LOCutils/levenshtein.tslib/utils/maybe-async-result.ts · 28 LOCutils/maybe-async-result…lib/utils/obj-filter.ts · 14 LOCutils/obj-filter.tslib/utils/process-argv.ts · 36 LOCutils/process-argv.tslib/utils/set-blocking.ts · 21 LOCutils/set-blocking.tslib/validation.ts · 520 LOClib/validation.tslib/yargs-factory.ts · 2437 LOClib/yargs-factory.tslib/yerror.ts · 9 LOClib/yerror.tshelpers.mjs|title=helpers Parser exposes functional argument parser|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:esm|file=test/esm/helpers.mjs|title=helpers Parser exposes functional argument parser|occurrence=1helpers.mjs|title=helper…platform-shim-test.mjs|title=platform-shim y18n __ behaves like sprintf|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:esm|file=test/esm/platform-shim-test.mjs|title=platform-shim y18n __ behaves like sprintf|occurrence=1platform-shim-test.mjs|t…platform-shim-test.mjs|title=platform-shim y18n __n uses first string if singular|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:esm|file=test/esm/platform-shim-test.mjs|title=platform-shim y18n __n uses first string if singular|occurrence=1platform-shim-test.mjs|t…platform-shim-test.mjs|title=platform-shim y18n __n uses second string if plural|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:esm|file=test/esm/platform-shim-test.mjs|title=platform-shim y18n __n uses second string if plural|occurrence=1platform-shim-test.mjs|t…argsert.mjs|title=Argsert allows for any type if * is provided|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/argsert.mjs|title=Argsert allows for any type if * is provided|occurrence=1argsert.mjs|title=Argser…argsert.mjs|title=Argsert does not warn if optional argument is not provided|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/argsert.mjs|title=Argsert does not warn if optional argument is not provided|occurrence=1argsert.mjs|title=Argser…argsert.mjs|title=Argsert does not warn if optional argument is valid|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/argsert.mjs|title=Argsert does not warn if optional argument is valid|occurrence=1argsert.mjs|title=Argser…argsert.mjs|title=Argsert should ignore trailing undefined values|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/argsert.mjs|title=Argsert should ignore trailing undefined values|occurrence=1argsert.mjs|title=Argser…is-promise.mjs|title=isPromise returns `false` if passed object has no `then` property|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/is-promise.mjs|title=isPromise returns `false` if passed object has no `then` property|occurrence=1is-promise.mjs|title=isP…is-promise.mjs|title=isPromise returns `false` if some falsy value is passed|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/is-promise.mjs|title=isPromise returns `false` if some falsy value is passed|occurrence=1is-promise.mjs|title=isP…is-promise.mjs|title=isPromise returns `false` on non promise value|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/is-promise.mjs|title=isPromise returns `false` on non promise value|occurrence=1is-promise.mjs|title=isP…parse-command.mjs|title=parseCommand should throw if no command is specified|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/parse-command.mjs|title=parseCommand should throw if no command is specified|occurrence=1parse-command.mjs|title=…parser.mjs|title=should expose yargs-parser as Parser|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/parser.mjs|title=should expose yargs-parser as Parser|occurrence=1parser.mjs|title=should …usage.mjs|title=usage tests required arguments still requires argument if 'type' hints are given|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/usage.mjs|title=usage tests required arguments still requires argument if 'type' hints are given|occurrence=1usage.mjs|title=usage te…usage.mjs|title=usage tests required arguments with options object should show a failure message if a required option is missing|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/usage.mjs|title=usage tests required arguments with options object should show a failure message if a required option is missing|occurrence=1usage.mjs|title=usage te…usage.mjs|title=usage tests required arguments with options object should show a failure message if more than one required option is missing|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/usage.mjs|title=usage tests required arguments with options object should show a failure message if more than one required option is missing|occurrence=1usage.mjs|title=usage te…usage.mjs|title=usage tests required arguments with requiresArg method should show a failure message if a required option is missing|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/usage.mjs|title=usage tests required arguments with requiresArg method should show a failure message if a required option is missing|occurrence=1usage.mjs|title=usage te…usage.mjs|title=usage tests version option when an option or alias "version" is set does not emit warning if version is disabled|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/usage.mjs|title=usage tests version option when an option or alias "version" is set does not emit warning if version is disabled|occurrence=1usage.mjs|title=usage te…validation.mjs|title=validation tests requiresArg does not fail if argument with required value is not provided to subcommand|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/validation.mjs|title=validation tests requiresArg does not fail if argument with required value is not provided to subcommand|occurrence=1validation.mjs|title=val…validation.mjs|title=validation tests requiresArg does not fail if argument with required value is not provided|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/validation.mjs|title=validation tests requiresArg does not fail if argument with required value is not provided|occurrence=1validation.mjs|title=val…validation.mjs|title=validation tests requiresArg fails when a required argument value of type array is missing|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/validation.mjs|title=validation tests requiresArg fails when a required argument value of type array is missing|occurrence=1validation.mjs|title=val…validation.mjs|title=validation tests requiresArg fails when a required argument value of type boolean is missing|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/validation.mjs|title=validation tests requiresArg fails when a required argument value of type boolean is missing|occurrence=1validation.mjs|title=val…validation.mjs|title=validation tests requiresArg fails when a required argument value of type number is missing|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/validation.mjs|title=validation tests requiresArg fails when a required argument value of type number is missing|occurrence=1validation.mjs|title=val…validation.mjs|title=validation tests requiresArg fails when a required argument value of type string is missing|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/validation.mjs|title=validation tests requiresArg fails when a required argument value of type string is missing|occurrence=1validation.mjs|title=val…yargs.mjs|title=yargs dsl tests "nargs" with "array" should apply nargs with higher precedence than requiresArg()|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/yargs.mjs|title=yargs dsl tests "nargs" with "array" should apply nargs with higher precedence than requiresArg()|occurrence=1yargs.mjs|title=yargs ds…yargs.mjs|title=yargs dsl tests "nargs" with "array" should apply nargs with higher precedence than requiresArg: true|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/yargs.mjs|title=yargs dsl tests "nargs" with "array" should apply nargs with higher precedence than requiresArg: true|occurrence=1yargs.mjs|title=yargs ds…yargs.mjs|title=yargs dsl tests should allow array and requires arg to be used in conjunction|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/yargs.mjs|title=yargs dsl tests should allow array and requires arg to be used in conjunction|occurrence=1yargs.mjs|title=yargs ds…Focused concept · yargs-factory.ts ×2 · 11 introduced LOCyargs-factory.ts ×2

Graph controls are ready.

Interactive rendering requires JavaScript and WebGL. Use the native relationship evidence on this page while the interactive map is unavailable.

Native relationship evidence

Every exact file and test below is linked only from the concept that introduces it.

Introduced tests

Every collected test enters the hierarchy at exactly one concept.

No tests are introduced at this concept. Its intent tests are introduced by other concepts.

Introduced code

Every collected source range enters the hierarchy at exactly one concept.

1 file ranked by introduced lines: 11 introduced LOC across 2 ranges. Expand a file to inspect source; the > gutter marks introduced lines.

lib/yargs-factory.ts 11 introduced LOC · 2 ranges

Open complete file

1264 }
1265 requiresArg(keys: string | string[] | Dictionary): YargsInstance {
1266 > // the 2nd parameter [number] in the argsert the assertion is mandatory yargs-factory.ts
1267 > // as populateParserHintSingleValueDictionary recursively calls requiresArg
1268 > // with Nan as a 2nd parameter, although we ignore it
1269 > argsert('<array|string|object> [number]', [keys], arguments.length);
1270 > // If someone configures nargs at the same time as requiresArg,
1271 > // nargs should take precedence,
1272 > // see: https://github.com/yargs/yargs/pull/1572
1273 > // TODO: make this work with aliases, using a check similar to
1274 > // checkAllAliases() in yargs-parser.
1275 > if (typeof keys === 'string' && this.#options.narg[keys]) {
1276 return this;
1277 > } else { yargs-factory.ts
1278 this[kPopulateParserHintSingleValueDictionary](
1279 this.requiresArg.bind(this),