Skip to content

Commit

Permalink
Use runmd to build README (#204)
Browse files Browse the repository at this point in the history
* Use runmd to build README

* Fix #200

* var -> const
  • Loading branch information
broofa committed Jun 29, 2017
1 parent e2389b3 commit 962c80a
Show file tree
Hide file tree
Showing 3 changed files with 308 additions and 31 deletions.
83 changes: 55 additions & 28 deletions README.md
@@ -1,3 +1,4 @@

# uuid [![Build Status](https://secure.travis-ci.org/kelektiv/node-uuid.svg?branch=master)](http://travis-ci.org/kelektiv/node-uuid) #

Simple, fast generation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDS.
Expand All @@ -21,14 +22,16 @@ Version 1 (timestamp):

```javascript
const uuidv1 = require('uuid/v1');
uuidv1(); // -> '6c84fb90-12c4-11e1-840d-7b25c5ee775a'
uuidv1(); // ⇨ 'af3da1c0-5cd9-11e7-8401-fb7c0283f80c'

```

Version 4 (random):

```javascript
const uuidv4 = require('uuid/v4');
uuidv4(); // -> '110ec58a-a0f2-4ac4-8393-c866d813b8d1'
uuidv4(); // ⇨ 'f71c9fb3-2e34-46ee-bec3-d9baee2077ae'

```

Version 5 (namespace):
Expand All @@ -37,14 +40,18 @@ Version 5 (namespace):
const uuidv5 = require('uuid/v5');

// ... using predefined DNS namespace (for domain names)
uuidv5('hello.example.com', uuidv5.DNS); // -> 'fdda765f-fc57-5604-a269-52a7df8164ec'
uuidv5('hello.example.com', uuidv5.DNS); // 'fdda765f-fc57-5604-a269-52a7df8164ec'

// ... using predefined URL namespace (for, well, URLs)
uuidv5('http://example.com/hello', uuidv5.URL); // -> '3bbcee75-cecc-5b56-8031-b6641c1ed1f1'
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'
//
// Note: Custom namespaces should be a UUID string specific to your application!
// E.g. the one here was generated using this modules `uuid` CLI.
const MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';
uuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681'

```

## Quickstart - Browser-ready Versions
Expand Down Expand Up @@ -85,7 +92,7 @@ uuidv5('http://example.com/hello', uuidv5.URL); // -> v5 UUID
```javascript
const uuidv1 = require('uuid/v1');

// Allowed arguments
// Incantations
uuidv1();
uuidv1(options);
uuidv1(options, buffer, offset);
Expand All @@ -110,29 +117,32 @@ Note: The <node> id is generated guaranteed to stay constant for the lifetime of
Example: Generate string UUID with fully-specified options

```javascript
uuidv1({
const v1options = {
node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],
clockseq: 0x1234,
msecs: new Date('2011-11-01').getTime(),
nsecs: 5678
}); // -> "710b962e-041c-11e1-9234-0123456789ab"
};
uuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab'

```

Example: In-place generation of two binary IDs

```javascript
// Generate two ids in an array
const arr = new Array(32); // -> []
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]
const arr = new Array();
uuidv1(null, arr, 0); // ⇨ [ 175, 62, 101, 16, 92, 217, 17, 231, 146, 52, 251, 124, 2, 131, 248, 12 ]
uuidv1(null, arr, 16); // ⇨ [ 175, 62, 101, 16, 92, 217, 17, 231, 146, 52, 251, 124, 2, 131, 248, 12, 175, 62, 140, 32, 92, 217, 17, 231, 146, 52, 251, 124, 2, 131, 248, 12 ]

```

### Version 4

```javascript
const uuidv4 = require('uuid/v4')

// Allowed arguments
// Incantations
uuidv4();
uuidv4(options);
uuidv4(options, buffer, offset);
Expand All @@ -148,38 +158,40 @@ Generate and return a RFC4122 v4 UUID.

Returns `buffer`, if specified, otherwise the string form of the UUID

Example: Generate string UUID with fully-specified options
Example: Generate string UUID with predefined `random` values

```javascript
uuid.v4({
const v4options = {
random: [
0x10, 0x91, 0x56, 0xbe, 0xc4, 0xfb, 0xc1, 0xea,
0x71, 0xb4, 0xef, 0xe1, 0x67, 0x1c, 0x58, 0x36
]
});
// -> "109156be-c4fb-41ea-b1b4-efe1671c5836"
};
uuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836'

```

Example: Generate two IDs in a single buffer

```javascript
const buffer = new Array(32); // (or 'new Buffer' in node.js)
uuid.v4(null, buffer, 0);
uuid.v4(null, buffer, 16);
const buffer = new Array();
uuidv4(null, buffer, 0); // ⇨ [ 18, 243, 219, 176, 63, 68, 75, 4, 191, 73, 152, 234, 209, 41, 234, 116 ]
uuidv4(null, buffer, 16); // ⇨ [ 18, 243, 219, 176, 63, 68, 75, 4, 191, 73, 152, 234, 209, 41, 234, 116, 91, 123, 222, 237, 118, 107, 76, 253, 134, 5, 17, 10, 186, 29, 236, 188 ]

```

### Version 5

```javascript
const uuidv5 = require('uuid/v5');

// Allowed arguments
// Incantations
uuidv5(name, namespace);
uuidv5(name, namespace, buffer);
uuidv5(name, namespace, buffer, offset);
```

Generate and return a RFC4122 v5 UUID.
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
Expand All @@ -191,24 +203,36 @@ 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
// 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(); //
const uuidv5 = require('uuid/v5');
const MY_NAMESPACE = uuidv4(); // ⇨ '6e0aeafd-c8cd-4b8c-a1b2-91619e471280'

// Generate a couple namespace uuids
const uuidv5 = require('uuid/v5');
uuidv5('hello', MY_NAMESPACE);
uuidv5('world', MY_NAMESPACE);
uuidv5('hello', MY_NAMESPACE); // ⇨ '7e9e76e9-eab0-5365-82a6-b7de7ebb1675'
uuidv5('world', MY_NAMESPACE); // ⇨ 'ba5e57dc-379d-53ba-9b8f-999185f40df2'

```

## Command Line

UUIDs can be generated from the command line with the `uuid` command.

```shell
$ uuid
ddeb27fb-d9a0-4624-be4d-4615062daed4
```

Type `uuid --help` for usage details

## Testing

```shell
npm test
```

## Deprecated / Browser-ready API
## Deprecated API

The API below is available for legacy purposes and is not expected to be available post-3.X

Expand All @@ -225,3 +249,6 @@ uuid(...); // alias of uuid/v4
## Legacy node-uuid package

The code for the legacy node-uuid package is available in the `node-uuid` branch.

----
Markdown generated from [README_js.md](README_js.md) by [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](https://github.com/broofa/runmd)

0 comments on commit 962c80a

Please sign in to comment.