uuid-bin.js 2.2 KB

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