validation.ts ×3

Frontier kind: Code frontier

unlabeled · c_587047d27567

19 tests · 1959 LOC · 18 files · introduces 0 tests · 29 LOC · 2 files

Introduces — evidence that enters the hierarchy at this concept

Code
4 ranges29 lines · 2 files
Tests
0 tests

Contains — complete concept membership

All code (extent)
351 ranges1959 lines · 18 files · Browse complete extent
All tests (intent)
19 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 an implied argument to be specified|occurrence=1 · 0 introduced LOCyargs.mjs|title=yargs ds…yargs-factory.ts ×1 · 2 introduced LOCyargs-factory.ts ×1command.mjs|title=Command global parsing hints validation resets implies logic for command if global is false|occurrence=1 · 0 introduced LOCcommand.mjs|title=Comman…yargs.mjs|title=yargs dsl tests accepts an object for implies|occurrence=1 · 0 introduced LOCyargs.mjs|title=yargs ds…validation.mjs|title=validation tests implies allows key to be specified with option shorthand|occurrence=1 · 0 introduced LOCvalidation.mjs|title=val…yargs-factory.ts ×1 · 2 introduced LOCyargs-factory.ts ×1validation.mjs|title=validation tests implies fails if '_' populated, and implied argument not set|occurrence=1 · 0 introduced LOCvalidation.mjs|title=val…validation.mjs|title=validation tests implies fails if --no-foo's implied argument is not set|occurrence=1, validation.mjs|title=validation tests implies fails if implied key (with "no" in the name) is given when it should not|occurrence=1, +1 · 0 introduced LOCvalidation.mjs|title=val…validation.ts ×1 · 1 introduced LOCvalidation.ts ×1validation.ts ×1 · 2 introduced LOCvalidation.ts ×1yargs.mjs|title=yargs dsl tests a function can be provided, to execute when a parsing failure occurs|occurrence=1, validation.mjs|title=validation tests implies fails if implied key (with "no" in the name) is not set|occurrence=1 · 0 introduced LOCyargs.mjs|title=yargs ds…validation.ts ×1 · 3 introduced LOCvalidation.ts ×1validation.mjs|title=validation tests implies doesn't fail if implied key (with "no" in the name) is set|occurrence=1 · 0 introduced LOCvalidation.mjs|title=val…validation.mjs|title=validation tests implies doesn't fail if implied key exists with value 0|occurrence=1, validation.mjs|title=validation tests implies doesn't fail if implied key exists with value false|occurrence=1 · 0 introduced LOCvalidation.mjs|title=val…validation.ts ×2 · 10 introduced LOCvalidation.ts ×2validation.ts ×5 · 21 introduced LOCvalidation.ts ×5yargs.mjs|title=yargs dsl tests reset should put yargs back into its initial state|occurrence=1 · 0 introduced LOCyargs.mjs|title=yargs ds…yargs.mjs|title=yargs dsl tests global should not reset implications of global options|occurrence=1 · 0 introduced LOCyargs.mjs|title=yargs ds…validation.ts ×1 · 3 introduced LOCvalidation.ts ×1validation.ts ×1 · 3 introduced LOCvalidation.ts ×1yargs-factory.ts ×1 · 3 introduced LOCyargs-factory.ts ×1yargs-factory.ts ×3 · 6 introduced LOCyargs-factory.ts ×3yargs-factory.ts ×1 · 20 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 ×5parse-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…command.mjs|title=Command global parsing hints coerce should not run or set new properties on argv when related argument is not passed|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/command.mjs|title=Command global parsing hints coerce should not run or set new properties on argv when related argument is not passed|occurrence=1command.mjs|title=Comman…command.mjs|title=Command global parsing hints validation resets implies logic for command if global is false|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/command.mjs|title=Command global parsing hints validation resets implies logic for command if global is false|occurrence=1command.mjs|title=Comman…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 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 implies allows key to be specified with option shorthand|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/validation.mjs|title=validation tests implies allows key to be specified with option shorthand|occurrence=1validation.mjs|title=val…validation.mjs|title=validation tests implies doesn't fail if implied key (with "no" in the name) is set|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/validation.mjs|title=validation tests implies doesn't fail if implied key (with "no" in the name) is set|occurrence=1validation.mjs|title=val…validation.mjs|title=validation tests implies doesn't fail if implied key (with "no" in the name) that should not be given is not set|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/validation.mjs|title=validation tests implies doesn't fail if implied key (with "no" in the name) that should not be given is not set|occurrence=1validation.mjs|title=val…validation.mjs|title=validation tests implies doesn't fail if implied key exists with value 0|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/validation.mjs|title=validation tests implies doesn't fail if implied key exists with value 0|occurrence=1validation.mjs|title=val…validation.mjs|title=validation tests implies doesn't fail if implied key exists with value false|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/validation.mjs|title=validation tests implies doesn't fail if implied key exists with value false|occurrence=1validation.mjs|title=val…validation.mjs|title=validation tests implies fails if '_' populated, and implied argument not set|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/validation.mjs|title=validation tests implies fails if '_' populated, and implied argument not set|occurrence=1validation.mjs|title=val…validation.mjs|title=validation tests implies fails if --no-foo's implied argument is not set|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/validation.mjs|title=validation tests implies fails if --no-foo's implied argument is not set|occurrence=1validation.mjs|title=val…validation.mjs|title=validation tests implies fails if a key is set, along with a key that it implies should not be set|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/validation.mjs|title=validation tests implies fails if a key is set, along with a key that it implies should not be set|occurrence=1validation.mjs|title=val…validation.mjs|title=validation tests implies fails if either implied argument is not set and displays only failed|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/validation.mjs|title=validation tests implies fails if either implied argument is not set and displays only failed|occurrence=1validation.mjs|title=val…validation.mjs|title=validation tests implies fails if implied key (with "no" in the name) is given when it should not|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/validation.mjs|title=validation tests implies fails if implied key (with "no" in the name) is given when it should not|occurrence=1validation.mjs|title=val…validation.mjs|title=validation tests implies fails if implied key (with "no" in the name) is not set|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/validation.mjs|title=validation tests implies fails if implied key (with "no" in the name) is not set|occurrence=1validation.mjs|title=val…validation.mjs|title=validation tests implies fails if key implies values in '_', but '_' is not populated|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/validation.mjs|title=validation tests implies fails if key implies values in '_', but '_' is not populated|occurrence=1validation.mjs|title=val…yargs.mjs|title=yargs dsl tests a function can be provided, to execute when a parsing failure occurs|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/yargs.mjs|title=yargs dsl tests a function can be provided, to execute when a parsing failure occurs|occurrence=1yargs.mjs|title=yargs ds…yargs.mjs|title=yargs dsl tests accepts an object for implies|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/yargs.mjs|title=yargs dsl tests accepts an object for implies|occurrence=1yargs.mjs|title=yargs ds…yargs.mjs|title=yargs dsl tests global should not reset implications of global options|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/yargs.mjs|title=yargs dsl tests global should not reset implications of global options|occurrence=1yargs.mjs|title=yargs ds…yargs.mjs|title=yargs dsl tests positional allows an implied argument to be specified|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/yargs.mjs|title=yargs dsl tests positional allows an implied argument to be specified|occurrence=1yargs.mjs|title=yargs ds…yargs.mjs|title=yargs dsl tests reset should put yargs back into its initial state|occurrence=1 · introduced test · mocha:v1|namespace=yargs@4153e0f097aeaf43a71a2530db6dda51dff2c544:main|file=test/yargs.mjs|title=yargs dsl tests reset should put yargs back into its initial state|occurrence=1yargs.mjs|title=yargs ds…Focused concept · validation.ts ×3 · 29 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.

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

lib/validation.ts 18 introduced LOC · 3 ranges

Open complete file

302 let implied: Dictionary<KeyOrPos[]> = {};
303 self.implies = function implies(key, value) {
304 > argsert( validation.ts
305 > '<string|object> [array|number|string]',
306 > [key, value],
307 > arguments.length
308 > );
309 >
310 > if (typeof key === 'object') {
311 Object.keys(key).forEach(k => {
312 self.implies(k, key[k]);
313 });
314 > } else { validation.ts
315 > yargs.global(key);
316 > if (!implied[key]) {
317 > implied[key] = [];
318 > }
319 > if (Array.isArray(value)) {
320 value.forEach(i => self.implies(key, i));
321 > } else { validation.ts
322 > assertNotStrictEqual(value, undefined, shim);
323 > implied[key].push(value);
324 > }
325 > }
326 };
327 self.getImplied = function getImplied() {
lib/yargs-factory.ts 11 introduced LOC · 1 range

Open complete file

868 }
869 implies(
870 > key: string | Dictionary<KeyOrPos | KeyOrPos[]>, yargs-factory.ts
871 > value?: KeyOrPos | KeyOrPos[]
872 > ): YargsInstance {
873 > argsert(
874 > '<string|object> [number|string|array]',
875 > [key, value],
876 > arguments.length
877 > );
878 > this.#validation.implies(key, value);
879 > return this;
880 > }
881 locale(locale?: string): YargsInstance | string {
882 argsert('[string]', [locale], arguments.length);