1 | "use strict";
|
---|
2 |
|
---|
3 | var _assert = _interopRequireDefault(require("assert"));
|
---|
4 |
|
---|
5 | var _v = _interopRequireDefault(require("./v1.js"));
|
---|
6 |
|
---|
7 | var _v2 = _interopRequireDefault(require("./v3.js"));
|
---|
8 |
|
---|
9 | var _v3 = _interopRequireDefault(require("./v4.js"));
|
---|
10 |
|
---|
11 | var _v4 = _interopRequireDefault(require("./v5.js"));
|
---|
12 |
|
---|
13 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
---|
14 |
|
---|
15 | function usage() {
|
---|
16 | console.log('Usage:');
|
---|
17 | console.log(' uuid');
|
---|
18 | console.log(' uuid v1');
|
---|
19 | console.log(' uuid v3 <name> <namespace uuid>');
|
---|
20 | console.log(' uuid v4');
|
---|
21 | console.log(' uuid v5 <name> <namespace uuid>');
|
---|
22 | console.log(' uuid --help');
|
---|
23 | console.log('\nNote: <namespace uuid> may be "URL" or "DNS" to use the corresponding UUIDs defined by RFC4122');
|
---|
24 | }
|
---|
25 |
|
---|
26 | const args = process.argv.slice(2);
|
---|
27 |
|
---|
28 | if (args.indexOf('--help') >= 0) {
|
---|
29 | usage();
|
---|
30 | process.exit(0);
|
---|
31 | }
|
---|
32 |
|
---|
33 | const version = args.shift() || 'v4';
|
---|
34 |
|
---|
35 | switch (version) {
|
---|
36 | case 'v1':
|
---|
37 | console.log((0, _v.default)());
|
---|
38 | break;
|
---|
39 |
|
---|
40 | case 'v3':
|
---|
41 | {
|
---|
42 | const name = args.shift();
|
---|
43 | let namespace = args.shift();
|
---|
44 | (0, _assert.default)(name != null, 'v3 name not specified');
|
---|
45 | (0, _assert.default)(namespace != null, 'v3 namespace not specified');
|
---|
46 |
|
---|
47 | if (namespace === 'URL') {
|
---|
48 | namespace = _v2.default.URL;
|
---|
49 | }
|
---|
50 |
|
---|
51 | if (namespace === 'DNS') {
|
---|
52 | namespace = _v2.default.DNS;
|
---|
53 | }
|
---|
54 |
|
---|
55 | console.log((0, _v2.default)(name, namespace));
|
---|
56 | break;
|
---|
57 | }
|
---|
58 |
|
---|
59 | case 'v4':
|
---|
60 | console.log((0, _v3.default)());
|
---|
61 | break;
|
---|
62 |
|
---|
63 | case 'v5':
|
---|
64 | {
|
---|
65 | const name = args.shift();
|
---|
66 | let namespace = args.shift();
|
---|
67 | (0, _assert.default)(name != null, 'v5 name not specified');
|
---|
68 | (0, _assert.default)(namespace != null, 'v5 namespace not specified');
|
---|
69 |
|
---|
70 | if (namespace === 'URL') {
|
---|
71 | namespace = _v4.default.URL;
|
---|
72 | }
|
---|
73 |
|
---|
74 | if (namespace === 'DNS') {
|
---|
75 | namespace = _v4.default.DNS;
|
---|
76 | }
|
---|
77 |
|
---|
78 | console.log((0, _v4.default)(name, namespace));
|
---|
79 | break;
|
---|
80 | }
|
---|
81 |
|
---|
82 | default:
|
---|
83 | usage();
|
---|
84 | process.exit(1);
|
---|
85 | } |
---|