1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #!/usr/bin/env node
- var assert = require('assert');
- function usage() {
- console.log('Usage:');
- console.log(' uuid');
- console.log(' uuid v1');
- console.log(' uuid v3 <name> <namespace uuid>');
- console.log(' uuid v4');
- console.log(' uuid v5 <name> <namespace uuid>');
- console.log(' uuid --help');
- console.log('\nNote: <namespace uuid> may be "URL" or "DNS" to use the corresponding UUIDs defined by RFC4122');
- }
- var args = process.argv.slice(2);
- if (args.indexOf('--help') >= 0) {
- usage();
- process.exit(0);
- }
- var version = args.shift() || 'v4';
- switch (version) {
- case 'v1':
- var uuidV1 = require('../v1');
- console.log(uuidV1());
- break;
- case 'v3':
- var uuidV3 = require('../v3');
- var name = args.shift();
- var namespace = args.shift();
- assert(name != null, 'v3 name not specified');
- assert(namespace != null, 'v3 namespace not specified');
- if (namespace == 'URL') namespace = uuidV3.URL;
- if (namespace == 'DNS') namespace = uuidV3.DNS;
- console.log(uuidV3(name, namespace));
- break;
- case 'v4':
- var uuidV4 = require('../v4');
- console.log(uuidV4());
- break;
- case 'v5':
- var uuidV5 = require('../v5');
- var name = args.shift();
- var namespace = args.shift();
- assert(name != null, 'v5 name not specified');
- assert(namespace != null, 'v5 namespace not specified');
- if (namespace == 'URL') namespace = uuidV5.URL;
- if (namespace == 'DNS') namespace = uuidV5.DNS;
- console.log(uuidV5(name, namespace));
- break;
- default:
- usage();
- process.exit(1);
- }
|