aboutsummaryrefslogtreecommitdiff
path: root/cordova/node_modules/uuid/lib
diff options
context:
space:
mode:
Diffstat (limited to 'cordova/node_modules/uuid/lib')
-rwxr-xr-xcordova/node_modules/uuid/lib/bytesToUuid.js23
-rwxr-xr-xcordova/node_modules/uuid/lib/rng-browser.js33
-rwxr-xr-xcordova/node_modules/uuid/lib/rng.js10
3 files changed, 66 insertions, 0 deletions
diff --git a/cordova/node_modules/uuid/lib/bytesToUuid.js b/cordova/node_modules/uuid/lib/bytesToUuid.js
new file mode 100755
index 0000000..9ee989c
--- /dev/null
+++ b/cordova/node_modules/uuid/lib/bytesToUuid.js
@@ -0,0 +1,23 @@
+/**
+ * Convert array of 16 byte values to UUID string format of the form:
+ * XXXXXXXX-XXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
+ */
+var byteToHex = [];
+for (var i = 0; i < 256; ++i) {
+ byteToHex[i] = (i + 0x100).toString(16).substr(1);
+}
+
+function bytesToUuid(buf, offset) {
+ var i = offset || 0;
+ var bth = byteToHex;
+ return bth[buf[i++]] + bth[buf[i++]] +
+ bth[buf[i++]] + bth[buf[i++]] + '-' +
+ bth[buf[i++]] + bth[buf[i++]] + '-' +
+ bth[buf[i++]] + bth[buf[i++]] + '-' +
+ bth[buf[i++]] + bth[buf[i++]] + '-' +
+ bth[buf[i++]] + bth[buf[i++]] +
+ bth[buf[i++]] + bth[buf[i++]] +
+ bth[buf[i++]] + bth[buf[i++]];
+}
+
+module.exports = bytesToUuid;
diff --git a/cordova/node_modules/uuid/lib/rng-browser.js b/cordova/node_modules/uuid/lib/rng-browser.js
new file mode 100755
index 0000000..88b7dfb
--- /dev/null
+++ b/cordova/node_modules/uuid/lib/rng-browser.js
@@ -0,0 +1,33 @@
+// Unique ID creation requires a high quality random # generator. In the
+// browser this is a little complicated due to unknown quality of Math.random()
+// and inconsistent support for the `crypto` API. We do the best we can via
+// feature-detection
+var rng;
+
+var crypto = global.crypto || global.msCrypto; // for IE 11
+if (crypto && crypto.getRandomValues) {
+ // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto
+ var rnds8 = new Uint8Array(16);
+ rng = function whatwgRNG() {
+ crypto.getRandomValues(rnds8);
+ return rnds8;
+ };
+}
+
+if (!rng) {
+ // Math.random()-based (RNG)
+ //
+ // If all else fails, use Math.random(). It's fast, but is of unspecified
+ // quality.
+ var rnds = new Array(16);
+ rng = function() {
+ for (var i = 0, r; i < 16; i++) {
+ if ((i & 0x03) === 0) r = Math.random() * 0x100000000;
+ rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;
+ }
+
+ return rnds;
+ };
+}
+
+module.exports = rng;
diff --git a/cordova/node_modules/uuid/lib/rng.js b/cordova/node_modules/uuid/lib/rng.js
new file mode 100755
index 0000000..5624d91
--- /dev/null
+++ b/cordova/node_modules/uuid/lib/rng.js
@@ -0,0 +1,10 @@
+// Unique ID creation requires a high quality random # generator. In node.js
+// this is prett straight-forward - we use the crypto API.
+
+var rb = require('crypto').randomBytes;
+
+function rng() {
+ return rb(16);
+};
+
+module.exports = rng;