Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add strict mode to parser #74

Merged
merged 40 commits into from
Apr 13, 2022
Merged
Changes from 1 commit
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
697493f
feat: Restructure options API
aaronccasanova Feb 9, 2022
9e42db0
chore: Remove debug comments
aaronccasanova Feb 9, 2022
36ef68c
chore: Remove debug comments
aaronccasanova Feb 9, 2022
67c0b03
chore: Alias args to argv to introduce less changes
aaronccasanova Feb 9, 2022
082bec5
feat: Replace option with
Feb 12, 2022
0909008
docs: Update README to reflect updated implementation
Feb 12, 2022
042480b
chore: Revert args options to argv
Feb 12, 2022
10df671
feat: Add strict mode to parser
aaronccasanova Feb 19, 2022
e44c46c
docs: Update README from PR feedback
aaronccasanova Feb 24, 2022
4063751
Merge branch 'main' of https://github.com/aaronccasanova/parseargs in…
aaronccasanova Feb 26, 2022
a50e940
chore: Reduce changes
aaronccasanova Feb 26, 2022
062bdc9
chore: Tidy up naming conventions
aaronccasanova Feb 26, 2022
28ae7b8
Merge branch 'main' into feat/restructure-options-api
bcoe Feb 27, 2022
e6fea72
Merge branch 'feat/restructure-options-api' of https://github.com/aar…
aaronccasanova Feb 27, 2022
ef06099
fix: Guard against prototype member access
aaronccasanova Feb 27, 2022
c228484
Merge branch 'feat/restructure-options-api' of https://github.com/aar…
aaronccasanova Mar 3, 2022
dd4f718
feat: Add strict mode type validation
aaronccasanova Mar 3, 2022
26df81c
chore: Remove custom unknown option error
aaronccasanova Mar 3, 2022
a04d11c
chore: Remove unknown option error from test
aaronccasanova Mar 3, 2022
ca05b43
fix: Update value validation to check against undefined
aaronccasanova Mar 3, 2022
a1c3544
Merge branch 'main' of https://github.com/aaronccasanova/parseargs in…
aaronccasanova Apr 9, 2022
fa0775b
fix: Update error conditionals to check for null or undefined values
aaronccasanova Apr 9, 2022
5b89108
Merge branch 'main' of https://github.com/aaronccasanova/parseargs in…
aaronccasanova Apr 10, 2022
1d412da
feat: Add custom error classes for unknown and invalid options
aaronccasanova Apr 10, 2022
a16fc7b
Adjust unknown option message to be agnostic of long or short options
aaronccasanova Apr 10, 2022
c4271a0
feat: Pass shortOption to storeOption util for better error messages
aaronccasanova Apr 10, 2022
b6107bb
Merge branch 'main' of https://github.com/aaronccasanova/parseargs in…
aaronccasanova Apr 10, 2022
948ca9e
fix(WIP): Update checks to use the ERR_INVALID_ARG_VALUE class
aaronccasanova Apr 10, 2022
a2ea48d
Merge branch 'main' of https://github.com/aaronccasanova/parseargs in…
aaronccasanova Apr 10, 2022
38575cd
Merge branch 'main' of https://github.com/aaronccasanova/parseargs in…
aaronccasanova Apr 11, 2022
99355dd
fix: Revert back to custom error classes and improve error messages
aaronccasanova Apr 12, 2022
e66a8b3
WIP: Default parseArgs to strict:true and update failing tests to str…
aaronccasanova Apr 12, 2022
a4fc92a
Update README to reflect strict:true behavior
aaronccasanova Apr 12, 2022
12fd0e6
fix: Improve robustness of the short option error message
aaronccasanova Apr 12, 2022
870cffe
fix: Improve error message for type:string options missing an argument
aaronccasanova Apr 12, 2022
694c75d
fix: Namespace unique parseArgs error classes
aaronccasanova Apr 12, 2022
9b76d55
docs: Update README examples
aaronccasanova Apr 12, 2022
fcb8c8d
Merge branch 'main' of https://github.com/aaronccasanova/parseargs in…
aaronccasanova Apr 12, 2022
e56246c
docs: Update remaing examples for consistency
aaronccasanova Apr 12, 2022
b4e0daf
Update index.js
aaronccasanova Apr 13, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,11 @@ function storeOptionValue(strict, options, longOption, value, result) {
throw new Error(`Unknown option: --${longOption}`);
}

if (options[longOption].type === 'string' && value == null) {
if (options[longOption].type === 'string' && value === undefined) {
aaronccasanova marked this conversation as resolved.
Show resolved Hide resolved
throw new Error(`Missing value for 'string' option: --${longOption}`);
}

if (options[longOption].type === 'boolean' && value != null) {
if (options[longOption].type === 'boolean' && value !== undefined) {
throw new Error(`Unexpected value for 'boolean' option: --${longOption}`);
}
}
Expand Down