Skip to content

Commit 8b50546

Browse files
committed
Added --ipv6 + --mac CLI options to generate different address types
1 parent 1785a32 commit 8b50546

File tree

3 files changed

+16
-3
lines changed

3 files changed

+16
-3
lines changed

generate-ip/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,8 @@ Parameter options:
356356
--qty=n Generate n IP address(es).
357357
358358
Boolean options:
359+
-6, --ipv6 Generate IPv6 address.
360+
-m, --mac Generate MAC address.
359361
-q, --quiet Suppress all logging except errors.
360362
361363
Info commands:

generate-ip/docs/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,8 @@ Parameter options:
356356
--qty=n Generate n IP address(es).
357357
358358
Boolean options:
359+
-6, --ipv6 Generate IPv6 address.
360+
-m, --mac Generate MAC address.
359361
-q, --quiet Suppress all logging except errors.
360362
361363
Info commands:

generate-ip/src/cli.js

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ const pkgName = 'generate-ip',
99
(async () => {
1010

1111
// Import LIBS
12-
const { ipv4 } = require(__dirname.match(/src/) ? './generate-ip' : './generate-ip.min'),
12+
const { ipv4, ipv6, mac } = require(__dirname.match(/src/) ? './generate-ip' : './generate-ip.min'),
1313
fs = require('fs'), path = require('path'),
1414
{ execSync } = require('child_process'); // for --version cmd + cross-platform copying
1515

@@ -58,7 +58,11 @@ const pkgName = 'generate-ip',
5858
const config = {};
5959
const reArgs = {
6060
paramOptions: { 'qty': /^--?qu?a?n?ti?t?y(?:=.*|$)/ },
61-
flags: { 'quietMode': /^--?q(?:uiet)?(?:-?mode)?$/ },
61+
flags: {
62+
'ipv6mode': /^--?(?:ip)?v?6(?:-?mode)?$/,
63+
'macMode': /^--?m(?:ac)?(?:-?mode)?$/,
64+
'quietMode': /^--?q(?:uiet)?(?:-?mode)?$/
65+
},
6266
infoCmds: { 'help': /^--?h(?:elp)?$/, 'version': /^--?ve?r?s?i?o?n?$/ }
6367
};
6468
process.argv.forEach(arg => {
@@ -111,7 +115,10 @@ const pkgName = 'generate-ip',
111115
console.info(`${ msgs.prefix_localVer || 'Local version' }: ${localVer}`);
112116

113117
} else { // log/copy RESULT(S)
114-
const ipResult = ipv4.generate({ qty: config.qty || 1, verbose: !config.quietMode });
118+
const genOptions = { qty: config.qty || 1, verbose: !config.quietMode },
119+
ipResult = config.ipv6mode ? ipv6.generate(genOptions)
120+
: config.macMode ? mac.generate(genOptions)
121+
: ipv4.generate(genOptions);
115122
printIfNotQuiet(`\n${ msgs.info_copying || 'Copying to clipboard' }...`);
116123
copyToClipboard(Array.isArray(ipResult) ? ipResult.join('\n') : ipResult);
117124
}
@@ -146,6 +153,8 @@ const pkgName = 'generate-ip',
146153
],
147154
'flags': [
148155
`\n${bw}o ${ msgs.helpSection_flags || 'Boolean options' }:${nc}`,
156+
' -6, --ipv6 Generate IPv6 address.',
157+
' -m, --mac Generate MAC address.',
149158
` -q, --quiet ${ msgs.optionDesc_quiet || 'Suppress all logging except errors' }.`
150159
],
151160
'infoCmds': [

0 commit comments

Comments
 (0)