#!/usr/bin/env node var assert = require('assert'); function usage() { console.log('Usage:'); console.log(' uuid'); console.log(' uuid v1'); console.log(' uuid v3 '); console.log(' uuid v4'); console.log(' uuid v5 '); console.log(' uuid --help'); console.log('\nNote: 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); }