summaryrefslogtreecommitdiff
path: root/node_modules/request/uuid.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/request/uuid.js')
-rw-r--r--node_modules/request/uuid.js19
1 files changed, 19 insertions, 0 deletions
diff --git a/node_modules/request/uuid.js b/node_modules/request/uuid.js
new file mode 100644
index 0000000..1d83bd5
--- /dev/null
+++ b/node_modules/request/uuid.js
@@ -0,0 +1,19 @@
+module.exports = function () {
+ var s = [], itoh = '0123456789ABCDEF';
+
+ // Make array of random hex digits. The UUID only has 32 digits in it, but we
+ // allocate an extra items to make room for the '-'s we'll be inserting.
+ for (var i = 0; i <36; i++) s[i] = Math.floor(Math.random()*0x10);
+
+ // Conform to RFC-4122, section 4.4
+ s[14] = 4; // Set 4 high bits of time_high field to version
+ s[19] = (s[19] & 0x3) | 0x8; // Specify 2 high bits of clock sequence
+
+ // Convert to hex chars
+ for (var i = 0; i <36; i++) s[i] = itoh[s[i]];
+
+ // Insert '-'s
+ s[8] = s[13] = s[18] = s[23] = '-';
+
+ return s.join('');
+}