summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/uuid/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/uuid/README.md')
-rw-r--r--deps/npm/node_modules/uuid/README.md153
1 files changed, 124 insertions, 29 deletions
diff --git a/deps/npm/node_modules/uuid/README.md b/deps/npm/node_modules/uuid/README.md
index 82a79eb33a..5adaa8f946 100644
--- a/deps/npm/node_modules/uuid/README.md
+++ b/deps/npm/node_modules/uuid/README.md
@@ -4,10 +4,10 @@ Simple, fast generation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDS.
Features:
-* Generate RFC4122 version 1 or version 4 UUIDs
-* Runs in node.js and browsers
-* Cryptographically strong random number generation on supporting platforms
-* Small footprint (Want something smaller? [Check this out](https://gist.github.com/982883)!)
+* Support for version 1, 4 and 5 UUIDs
+* Cross-platform
+* Uses cryptographically-strong random number APIs (when available)
+* Zero-dependency, small footprint (... but not [this small](https://gist.github.com/982883))
## Quickstart - CommonJS (Recommended)
@@ -15,39 +15,81 @@ Features:
npm install uuid
```
+Then generate your uuid version of choice ...
+
+Version 1 (timestamp):
+
+```javascript
+const uuidv1 = require('uuid/v1');
+uuidv1(); // -> '6c84fb90-12c4-11e1-840d-7b25c5ee775a'
+```
+
+Version 4 (random):
+
+```javascript
+const uuidv4 = require('uuid/v4');
+uuidv4(); // -> '110ec58a-a0f2-4ac4-8393-c866d813b8d1'
+```
+
+Version 5 (namespace):
+
```javascript
-// Generate a v1 UUID (time-based)
-const uuidV1 = require('uuid/v1');
-uuidV1(); // -> '6c84fb90-12c4-11e1-840d-7b25c5ee775a'
+const uuidv5 = require('uuid/v5');
+
+// ... using predefined DNS namespace (for domain names)
+uuidv5('hello.example.com', uuidv5.DNS)); // -> 'fdda765f-fc57-5604-a269-52a7df8164ec'
-// Generate a v4 UUID (random)
-const uuidV4 = require('uuid/v4');
-uuidV4(); // -> '110ec58a-a0f2-4ac4-8393-c866d813b8d1'
+// ... using predefined URL namespace (for, well, URLs)
+uuidv5('http://example.com/hello', uuidv5.URL); // -> '3bbcee75-cecc-5b56-8031-b6641c1ed1f1'
+
+// ... using a custom namespace
+const MY_NAMESPACE = '<UUID string you previously generated elsewhere>';
+uuidv5('Hello, World!', MY_NAMESPACE); // -> '90123e1c-7512-523e-bb28-76fab9f2f73d'
```
-## Quickstart - Pre-packaged for browsers (Not recommended)
+## Quickstart - Browser-ready Versions
Browser-ready versions of this module are available via [wzrd.in](https://github.com/jfhbrook/wzrd.in).
+For version 1 uuids:
+
```html
-<script src="http://wzrd.in/standalone/uuid@latest"></script>
+<script src="http://wzrd.in/standalone/uuid%2Fv1@latest"></script>
+<script>
+uuidv1(); // -> v1 UUID
+</script>
+```
+For version 4 uuids:
+
+```html
+<script src="http://wzrd.in/standalone/uuid%2Fv4@latest"></script>
<script>
-uuid.v1(); // -> v1 UUID
-uuid.v4(); // -> v4 UUID
+uuidv4(); // -> v4 UUID
</script>
```
-(Note: Do not do this in production. Just don't. wzrd.in is a great service, but if you're deploying a "real" service you should be using a packaging tool like browserify or webpack. If you do go this route you would be well advised to link to a specific version instead of `uuid@latest` to avoid having your code break when we roll out breaking changes.)
+For version 5 uuids:
+```html
+<script src="http://wzrd.in/standalone/uuid%2Fv5@latest"></script>
+<script>
+uuidv5('http://example.com/hello', uuidv5.URL); // -> v5 UUID
+</script>
+```
## API
-### uuid(...)
+### Version 1
-Generate a V4 uuid. See uuid.v4 documentation below.
+```javascript
+const uuidv1 = require('uuid/v1');
-### uuid.v1([`options` [, `buffer` [, `offset`]]])
+// Allowed arguments
+uuidv1();
+uuidv1(options);
+uuidv1(options, buffer, offset);
+```
Generate and return a RFC4122 v1 (timestamp-based) UUID.
@@ -63,14 +105,12 @@ Generate and return a RFC4122 v1 (timestamp-based) UUID.
Returns `buffer`, if specified, otherwise the string form of the UUID
-Notes:
-
-1. The randomly generated node id is only guaranteed to stay constant for the lifetime of the current JS runtime. (Future versions of this module may use persistent storage mechanisms to extend this guarantee.)
+Note: The <node> id is generated guaranteed to stay constant for the lifetime of the current JS runtime. (Future versions of this module may use persistent storage mechanisms to extend this guarantee.)
Example: Generate string UUID with fully-specified options
```javascript
-uuid.v1({
+uuidv1({
node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],
clockseq: 0x1234,
msecs: new Date('2011-11-01').getTime(),
@@ -83,19 +123,26 @@ Example: In-place generation of two binary IDs
```javascript
// Generate two ids in an array
const arr = new Array(32); // -> []
-uuid.v1(null, arr, 0); // -> [02 a2 ce 90 14 32 11 e1 85 58 0b 48 8e 4f c1 15]
-uuid.v1(null, arr, 16); // -> [02 a2 ce 90 14 32 11 e1 85 58 0b 48 8e 4f c1 15 02 a3 1c b0 14 32 11 e1 85 58 0b 48 8e 4f c1 15]
+uuidv1(null, arr, 0); // -> [02 a2 ce 90 14 32 11 e1 85 58 0b 48 8e 4f c1 15]
+uuidv1(null, arr, 16); // -> [02 a2 ce 90 14 32 11 e1 85 58 0b 48 8e 4f c1 15 02 a3 1c b0 14 32 11 e1 85 58 0b 48 8e 4f c1 15]
```
-### uuid.v4([`options` [, `buffer` [, `offset`]]])
+### Version 4
+
+```javascript
+const uuidv4 = require('uuid/v4')
+
+// Allowed arguments
+uuidv4();
+uuidv4(options);
+uuidv4(options, buffer, offset);
+```
Generate and return a RFC4122 v4 UUID.
* `options` - (Object) Optional uuid state to apply. Properties may include:
-
* `random` - (Number[16]) Array of 16 numbers (0-255) to use in place of randomly generated values
- * `rng` - (Function) Random # generator to use. Set to one of the built-in generators - `uuid.mathRNG` (all platforms), `uuid.nodeRNG` (node.js only), `uuid.whatwgRNG` (WebKit only) - or a custom function that returns an array[16] of byte values.
-
+ * `rng` - (Function) Random # generator function that returns an Array[16] of byte values (0-255)
* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written.
* `offset` - (Number) Starting index in `buffer` at which to begin writing.
@@ -121,12 +168,60 @@ uuid.v4(null, buffer, 0);
uuid.v4(null, buffer, 16);
```
-## Testing
+### Version 5
+```javascript
+const uuidv5 = require('uuid/v4');
+
+// Allowed arguments
+uuidv5(name, namespace);
+uuidv5(name, namespace, buffer);
+uuidv5(name, namespace, buffer, offset);
```
+
+Generate and return a RFC4122 v4 UUID.
+
+* `name` - (String | Array[]) "name" to create UUID with
+* `namespace` - (String | Array[]) "namespace" UUID either as a String or Array[16] of byte values
+* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written.
+* `offset` - (Number) Starting index in `buffer` at which to begin writing. Default = 0
+
+Returns `buffer`, if specified, otherwise the string form of the UUID
+
+Example:
+
+```javascript
+// Generate a unique namespace (typically you would do this once, outside of
+// your project, then bake this value into your code)
+const uuidv4 = require('uuid/v4');
+const MY_NAMESPACE = uuidv4(); //
+
+// Generate a couple namespace uuids
+const uuidv5 = require('uuid/v5');
+uuidv5('hello', MY_NAMESPACE);
+uuidv5('world', MY_NAMESPACE);
+```
+
+## Testing
+
+```shell
npm test
```
+## Deprecated / Browser-ready API
+
+The API below is available for legacy purposes and is not expected to be available post-3.X
+
+```javascript
+const uuid = require('uuid');
+
+uuid.v1(...); // alias of uuid/v1
+uuid.v4(...); // alias of uuid/v4
+uuid(...); // alias of uuid/v4
+
+// uuid.v5() is not supported in this API
+```
+
## Legacy node-uuid package
The code for the legacy node-uuid package is available in the `node-uuid` branch.