From 563680495cab7fef0cc1b8e8f7278a7fd76a7a19 Mon Sep 17 00:00:00 2001 From: Frangu Vlad Date: Fri, 29 Dec 2017 09:47:10 +0200 Subject: [PATCH 1/4] Actually fix UUID, and separate the NodeJS version from the Browser version --- ...UIDGenerator.md => UUIDGeneratorBrowser.md} | 2 +- snippets/UUIDGeneratorNode.md | 18 ++++++++++++++++++ tag_database | 3 ++- 3 files changed, 21 insertions(+), 2 deletions(-) rename snippets/{UUIDGenerator.md => UUIDGeneratorBrowser.md} (92%) create mode 100644 snippets/UUIDGeneratorNode.md diff --git a/snippets/UUIDGenerator.md b/snippets/UUIDGeneratorBrowser.md similarity index 92% rename from snippets/UUIDGenerator.md rename to snippets/UUIDGeneratorBrowser.md index 2d11c5540..9976fd888 100644 --- a/snippets/UUIDGenerator.md +++ b/snippets/UUIDGeneratorBrowser.md @@ -1,6 +1,6 @@ ### UUIDGenerator -Generates a UUID. +Generates a UUID in a browser. Use `crypto` API to generate a UUID, compliant with [RFC4122](https://www.ietf.org/rfc/rfc4122.txt) version 4. diff --git a/snippets/UUIDGeneratorNode.md b/snippets/UUIDGeneratorNode.md new file mode 100644 index 000000000..9d80b28e2 --- /dev/null +++ b/snippets/UUIDGeneratorNode.md @@ -0,0 +1,18 @@ +### UUIDGenerator + +Generates a UUID in Node.JS. + +Use `crypto` API to generate a UUID, compliant with [RFC4122](https://www.ietf.org/rfc/rfc4122.txt) version 4. + +```js +const crypto = require("crypto"); + +const UUIDGenerator = () => + ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c => + (c ^ (crypto.randomBytes(1)[0] & (15 >> (c / 4)))).toString(16) + ); +``` + +```js +UUIDGenerator(); // '79c7c136-60ee-40a2-beb2-856f1feabefc' +``` diff --git a/tag_database b/tag_database index b9b43e79c..5f4e45246 100644 --- a/tag_database +++ b/tag_database @@ -139,7 +139,8 @@ toSnakeCase:string truncateString:string truthCheckCollection:object union:array -UUIDGenerator:utility +UUIDGeneratorBrowser:browser +UUIDGeneratorNode:node validateNumber:utility without:array words:string From d21eee50bea05acbefc9ca2d9c2af658775993d0 Mon Sep 17 00:00:00 2001 From: Angelos Chalaris Date: Fri, 29 Dec 2017 10:09:57 +0200 Subject: [PATCH 2/4] Update UUIDGeneratorBrowser.md --- snippets/UUIDGeneratorBrowser.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/snippets/UUIDGeneratorBrowser.md b/snippets/UUIDGeneratorBrowser.md index 9976fd888..3fc752f95 100644 --- a/snippets/UUIDGeneratorBrowser.md +++ b/snippets/UUIDGeneratorBrowser.md @@ -1,16 +1,16 @@ -### UUIDGenerator +### UUIDGeneratorBrowser Generates a UUID in a browser. Use `crypto` API to generate a UUID, compliant with [RFC4122](https://www.ietf.org/rfc/rfc4122.txt) version 4. ```js -const UUIDGenerator = () => +const UUIDGeneratorBrowser = () => ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c => (c ^ (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4)))).toString(16) ); ``` ```js -UUIDGenerator(); // '7982fcfe-5721-4632-bede-6000885be57d' +UUIDGeneratorBrowser(); // '7982fcfe-5721-4632-bede-6000885be57d' ``` From 8480b8ec20b0105f02f964f8ed0667075e91be46 Mon Sep 17 00:00:00 2001 From: Angelos Chalaris Date: Fri, 29 Dec 2017 10:10:16 +0200 Subject: [PATCH 3/4] Update UUIDGeneratorNode.md --- snippets/UUIDGeneratorNode.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/snippets/UUIDGeneratorNode.md b/snippets/UUIDGeneratorNode.md index 9d80b28e2..fe92c8972 100644 --- a/snippets/UUIDGeneratorNode.md +++ b/snippets/UUIDGeneratorNode.md @@ -1,4 +1,4 @@ -### UUIDGenerator +### UUIDGeneratorNode Generates a UUID in Node.JS. @@ -7,12 +7,12 @@ Use `crypto` API to generate a UUID, compliant with [RFC4122](https://www.ietf.o ```js const crypto = require("crypto"); -const UUIDGenerator = () => +const UUIDGeneratorNode = () => ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c => (c ^ (crypto.randomBytes(1)[0] & (15 >> (c / 4)))).toString(16) ); ``` ```js -UUIDGenerator(); // '79c7c136-60ee-40a2-beb2-856f1feabefc' +UUIDGeneratorNode(); // '79c7c136-60ee-40a2-beb2-856f1feabefc' ``` From 51e2a141ee3a5e333cfaef05d1d6ad5dcb25ce77 Mon Sep 17 00:00:00 2001 From: Angelos Chalaris Date: Fri, 29 Dec 2017 10:10:37 +0200 Subject: [PATCH 4/4] Update UUIDGeneratorNode.md --- snippets/UUIDGeneratorNode.md | 1 - 1 file changed, 1 deletion(-) diff --git a/snippets/UUIDGeneratorNode.md b/snippets/UUIDGeneratorNode.md index fe92c8972..d218fab70 100644 --- a/snippets/UUIDGeneratorNode.md +++ b/snippets/UUIDGeneratorNode.md @@ -6,7 +6,6 @@ Use `crypto` API to generate a UUID, compliant with [RFC4122](https://www.ietf.o ```js const crypto = require("crypto"); - const UUIDGeneratorNode = () => ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c => (c ^ (crypto.randomBytes(1)[0] & (15 >> (c / 4)))).toString(16)