You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					85 lines
				
				2.0 KiB
			
		
		
			
		
	
	
					85 lines
				
				2.0 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								"use strict";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _assert = _interopRequireDefault(require("assert"));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _v = _interopRequireDefault(require("./v1.js"));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _v2 = _interopRequireDefault(require("./v3.js"));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _v3 = _interopRequireDefault(require("./v4.js"));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var _v4 = _interopRequireDefault(require("./v5.js"));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								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');
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const args = process.argv.slice(2);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if (args.indexOf('--help') >= 0) {
							 | 
						||
| 
								 | 
							
								  usage();
							 | 
						||
| 
								 | 
							
								  process.exit(0);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const version = args.shift() || 'v4';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								switch (version) {
							 | 
						||
| 
								 | 
							
								  case 'v1':
							 | 
						||
| 
								 | 
							
								    console.log((0, _v.default)());
							 | 
						||
| 
								 | 
							
								    break;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  case 'v3':
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      const name = args.shift();
							 | 
						||
| 
								 | 
							
								      let namespace = args.shift();
							 | 
						||
| 
								 | 
							
								      (0, _assert.default)(name != null, 'v3 name not specified');
							 | 
						||
| 
								 | 
							
								      (0, _assert.default)(namespace != null, 'v3 namespace not specified');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      if (namespace === 'URL') {
							 | 
						||
| 
								 | 
							
								        namespace = _v2.default.URL;
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      if (namespace === 'DNS') {
							 | 
						||
| 
								 | 
							
								        namespace = _v2.default.DNS;
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      console.log((0, _v2.default)(name, namespace));
							 | 
						||
| 
								 | 
							
								      break;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  case 'v4':
							 | 
						||
| 
								 | 
							
								    console.log((0, _v3.default)());
							 | 
						||
| 
								 | 
							
								    break;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  case 'v5':
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      const name = args.shift();
							 | 
						||
| 
								 | 
							
								      let namespace = args.shift();
							 | 
						||
| 
								 | 
							
								      (0, _assert.default)(name != null, 'v5 name not specified');
							 | 
						||
| 
								 | 
							
								      (0, _assert.default)(namespace != null, 'v5 namespace not specified');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      if (namespace === 'URL') {
							 | 
						||
| 
								 | 
							
								        namespace = _v4.default.URL;
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      if (namespace === 'DNS') {
							 | 
						||
| 
								 | 
							
								        namespace = _v4.default.DNS;
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      console.log((0, _v4.default)(name, namespace));
							 | 
						||
| 
								 | 
							
								      break;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  default:
							 | 
						||
| 
								 | 
							
								    usage();
							 | 
						||
| 
								 | 
							
								    process.exit(1);
							 | 
						||
| 
								 | 
							
								}
							 |