validation.ts ×3

Frontier kind: Code frontier

unlabeled · c_fa29b433ef35

8 tests · 2378 LOC · 18 files · introduces 0 tests · 14 LOC · 1 file

Introduces — evidence that enters the hierarchy at this concept

Code
3 ranges14 lines · 1 files
Tests
0 tests

Contains — complete concept membership

All code (extent)
438 ranges2378 lines · 18 files · Browse complete extent
All tests (intent)
8 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 specializationyargs.mjs|title=yargs dsl tests positional allows a choices array to be specified|occurrence=1 · 0 introduced LOCyargs.mjs|title=yargs ds…command.mjs|title=Command global parsing hints types applies choices type globally|occurrence=1 · 0 introduced LOCcommand.mjs|title=Comman…middleware.mjs|title=middleware async coerce allows error to be caught|occurrence=1 · 0 introduced LOCmiddleware.mjs|title=mid…validation.mjs|title=validation tests choices fails with one invalid value|occurrence=1, validation.mjs|title=validation tests choices fails with case-insensitive value|occurrence=1, +3 · 0 introduced LOCvalidation.mjs|title=val…validation.ts ×3 · 7 introduced LOCvalidation.ts ×3validation.ts ×1 · 1 introduced LOCvalidation.ts ×1validation.ts ×3 · 10 introduced LOCvalidation.ts ×3usage.ts ×1 · 12 introduced LOCusage.ts ×1yargs-factory.ts ×2 · 8 introduced LOCyargs-factory.ts ×2validation.ts ×4 · 24 introduced LOCvalidation.ts ×4yargs-factory.ts ×2 · 9 introduced LOCyargs-factory.ts ×2maybe-async-result.ts ×4 · 14 introduced LOCmaybe-async-result.ts ×4usage.ts ×1 · 3 introduced LOCusage.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 ×5 · 66 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 ×1 · 2 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.mjs|title=yargs dsl tests choices accepts a string and array|occurrence=1 · 0 introduced LOCyargs.mjs|title=yargs ds…yargs-factory.ts ×1 · 2 introduced LOCyargs-factory.ts ×1yargs.mjs|title=yargs dsl tests choices accepts a string and single value|occurrence=1 · 0 introduced LOCyargs.mjs|title=yargs ds…yargs-factory.ts ×1 · 4 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×1 · 3 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×1 · 16 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 · 3 introduced LOCyargs-factory.ts ×1yargs.mjs|title=yargs dsl tests showHidden should have a default show-hidden private option pre-configured|occurrence=1, yargs.mjs|title=yargs dsl tests showHidden should not have show-hidden as an actual option described by default|occurrence=1 · 0 introduced LOCyargs.mjs|title=yargs ds…yargs-factory.ts ×1 · 22 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×1 · 1 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.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…argsert.mjs|title=Argsert supports a combination of required and optional arguments|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/argsert.mjs|title=Argsert supports a combination of required and optional arguments|occurrence=1argsert.mjs|title=Argser…command.mjs|title=Command global parsing hints types applies choices type globally|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/command.mjs|title=Command global parsing hints types applies choices type globally|occurrence=1command.mjs|title=Comman…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…middleware.mjs|title=middleware async coerce allows error to be caught|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/middleware.mjs|title=middleware async coerce allows error to be caught|occurrence=1middleware.mjs|title=mid…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 $0 is detected correctly when argv contains "iojs"|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/usage.mjs|title=usage tests $0 is detected correctly when argv contains "iojs"|occurrence=1usage.mjs|title=usage te…usage.mjs|title=usage tests $0 is detected correctly when argv contains "iojs.exe"|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/usage.mjs|title=usage tests $0 is detected correctly when argv contains "iojs.exe"|occurrence=1usage.mjs|title=usage te…usage.mjs|title=usage tests $0 is detected correctly when argv contains "node"|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/usage.mjs|title=usage tests $0 is detected correctly when argv contains "node"|occurrence=1usage.mjs|title=usage te…usage.mjs|title=usage tests $0 is detected correctly when argv contains "node.exe"|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/usage.mjs|title=usage tests $0 is detected correctly when argv contains "node.exe"|occurrence=1usage.mjs|title=usage te…usage.mjs|title=usage tests $0 is detected correctly when dirname and argv contain "iojs"|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/usage.mjs|title=usage tests $0 is detected correctly when dirname and argv contain "iojs"|occurrence=1usage.mjs|title=usage te…usage.mjs|title=usage tests $0 is detected correctly when dirname and argv contain "node"|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/usage.mjs|title=usage tests $0 is detected correctly when dirname and argv contain "node"|occurrence=1usage.mjs|title=usage te…usage.mjs|title=usage tests $0 is not resolved to the relative path if it is larger|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/usage.mjs|title=usage tests $0 is not resolved to the relative path if it is larger|occurrence=1usage.mjs|title=usage te…usage.mjs|title=usage tests $0 is resolved to the relative path if it is shorter|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/usage.mjs|title=usage tests $0 is resolved to the relative path if it is shorter|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 choices fails with case-insensitive value|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/validation.mjs|title=validation tests choices fails with case-insensitive value|occurrence=1validation.mjs|title=val…validation.mjs|title=validation tests choices fails with multiple invalid arguments|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/validation.mjs|title=validation tests choices fails with multiple invalid arguments|occurrence=1validation.mjs|title=val…validation.mjs|title=validation tests choices fails with multiple invalid values for same argument|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/validation.mjs|title=validation tests choices fails with multiple invalid values for same argument|occurrence=1validation.mjs|title=val…validation.mjs|title=validation tests choices fails with one invalid value|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/validation.mjs|title=validation tests choices fails with one invalid value|occurrence=1validation.mjs|title=val…validation.mjs|title=validation tests choices fails with one valid and one invalid value|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/validation.mjs|title=validation tests choices fails with one valid and one invalid value|occurrence=1validation.mjs|title=val…yargs.mjs|title=yargs dsl tests choices accepts a string and array|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/yargs.mjs|title=yargs dsl tests choices accepts a string and array|occurrence=1yargs.mjs|title=yargs ds…yargs.mjs|title=yargs dsl tests choices accepts a string and single value|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/yargs.mjs|title=yargs dsl tests choices accepts a string and single value|occurrence=1yargs.mjs|title=yargs ds…yargs.mjs|title=yargs dsl tests parsed should be false before parsing|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/yargs.mjs|title=yargs dsl tests parsed should be false before parsing|occurrence=1yargs.mjs|title=yargs ds…yargs.mjs|title=yargs dsl tests positional allows a choices array to be specified|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/yargs.mjs|title=yargs dsl tests positional allows a choices array to be specified|occurrence=1yargs.mjs|title=yargs ds…yargs.mjs|title=yargs dsl tests showHidden should have a default show-hidden private option pre-configured|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/yargs.mjs|title=yargs dsl tests showHidden should have a default show-hidden private option pre-configured|occurrence=1yargs.mjs|title=yargs ds…yargs.mjs|title=yargs dsl tests showHidden should not have show-hidden as an actual option described by default|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/yargs.mjs|title=yargs dsl tests showHidden should not have show-hidden as an actual option described by default|occurrence=1yargs.mjs|title=yargs ds…Focused concept · validation.ts ×3 · 14 introduced LOCvalidation.ts ×3

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: 14 introduced LOC across 3 ranges. Expand a file to inspect source; the > gutter marks introduced lines.

lib/validation.ts 14 introduced LOC · 3 ranges

Open complete file

275 if (
276 options.choices[key].indexOf(value) === -1 &&
277 > value !== undefined validation.ts
278 ) {
279 > invalid[key] = (invalid[key] || []).concat(value); validation.ts
280 > }
281 });
282 }
286
287 if (!invalidKeys.length) return;
289 > let msg = __('Invalid values:');
290 > invalidKeys.forEach(key => {
291 > msg += `\n ${__(
292 > 'Argument: %s, Given: %s, Choices: %s',
293 > key,
294 > usage.stringifiedValues(invalid[key]),
295 > usage.stringifiedValues(options.choices[key])
296 > )}`;
297 > });
298 > usage.fail(msg);
299 };
300