decidim 0.26.5 → 0.26.7
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of decidim might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/docs/modules/configure/pages/initializer.adoc +3 -3
- data/docs/modules/develop/pages/api.adoc +1 -1
- data/docs/modules/develop/pages/guide_development_app.adoc +6 -4
- data/docs/modules/develop/pages/guide_example_apps.adoc +1 -1
- data/docs/modules/develop/pages/maps.adoc +2 -2
- data/docs/modules/install/pages/index.adoc +1 -1
- data/docs/modules/services/pages/maps.adoc +0 -6
- data/lib/decidim/version.rb +1 -1
- data/package-lock.json +7 -7
- data/packages/browserslist-config/package.json +1 -1
- data/packages/core/node_modules/uuid/AUTHORS +5 -0
- data/packages/core/node_modules/uuid/CHANGELOG.md +119 -0
- data/packages/core/node_modules/uuid/LICENSE.md +21 -0
- data/packages/core/node_modules/uuid/README.md +276 -0
- data/packages/core/node_modules/uuid/bin/uuid +65 -0
- data/packages/core/node_modules/uuid/index.js +8 -0
- data/packages/core/node_modules/uuid/lib/bytesToUuid.js +26 -0
- data/packages/core/node_modules/uuid/lib/md5-browser.js +216 -0
- data/packages/core/node_modules/uuid/lib/md5.js +25 -0
- data/packages/core/node_modules/uuid/lib/rng-browser.js +34 -0
- data/packages/core/node_modules/uuid/lib/rng.js +8 -0
- data/packages/core/node_modules/uuid/lib/sha1-browser.js +89 -0
- data/packages/core/node_modules/uuid/lib/sha1.js +25 -0
- data/packages/core/node_modules/uuid/lib/v35.js +57 -0
- data/packages/core/node_modules/uuid/package.json +49 -0
- data/packages/core/node_modules/uuid/v1.js +109 -0
- data/packages/core/node_modules/uuid/v3.js +4 -0
- data/packages/core/node_modules/uuid/v4.js +29 -0
- data/packages/core/node_modules/uuid/v5.js +3 -0
- data/packages/core/package.json +1 -1
- data/packages/dev/package.json +1 -1
- data/packages/elections/package.json +1 -1
- data/packages/eslint-config/package.json +1 -1
- data/packages/stylelint-config/package.json +1 -1
- data/packages/webpacker/package.json +1 -1
- metadata +61 -42
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 90367b5834c71bcaa2afcef598ff309bd159caf7f54844a5dd074cf0bbd1b42f
|
4
|
+
data.tar.gz: 10cd5393437934686dc497cd2ab79ad0851a1a9b0480f4a5c3deca139ad9412b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1f4c606ef3eeb097733215c3ac4ca97f13d91ad126c314d6b72bb72ef6f66caaa43993da08748aa1e5f3c6dfa0fdc643ab3fb39eef340c654fbb3a25a31b7f0d
|
7
|
+
data.tar.gz: aa3745b957095e889cb23ebe05c29026eae46363275c23570ed2be6fa3a63b9683a3ad6232914381ff0bee6f54a172a651b9efe8ede5a3acfe2ed78abd9e6451
|
@@ -62,7 +62,7 @@ this value for that specific organization.
|
|
62
62
|
== Content Processors
|
63
63
|
|
64
64
|
Defines a list of custom content processors. They are used to parse and
|
65
|
-
render specific tags inside some user-provided content. Check the
|
65
|
+
render specific tags inside some user-provided content. Check the Content Processor
|
66
66
|
docs for more info.
|
67
67
|
|
68
68
|
[source,ruby]
|
@@ -97,7 +97,7 @@ Please refer to:
|
|
97
97
|
|
98
98
|
== Geocoder configuration
|
99
99
|
|
100
|
-
Allows to make geographical mapping in some components, like Proposals or Meetings. It must be configured against a OpenStreetMap provider.
|
100
|
+
Allows to make geographical mapping in some components, like Proposals or Meetings. It must be configured against a OpenStreetMap provider.
|
101
101
|
|
102
102
|
[source,ruby]
|
103
103
|
....
|
@@ -109,7 +109,7 @@ Allows to make geographical mapping in some components, like Proposals or Meetin
|
|
109
109
|
|
110
110
|
== Custom resource reference
|
111
111
|
|
112
|
-
Custom resource reference generator method.
|
112
|
+
Custom resource reference generator method.
|
113
113
|
|
114
114
|
[source,ruby]
|
115
115
|
....
|
@@ -10,6 +10,6 @@ Accessing that URL will give a full details of all the objects that can be reque
|
|
10
10
|
|
11
11
|
For a quick introduction about how to use the Decidim API, please refer to this document:
|
12
12
|
|
13
|
-
|
13
|
+
Using the Decidim GraphQL API
|
14
14
|
|
15
15
|
Note that this document is available under the `api/docs` URL nicely formatted as well. It also includes the full field types reference.
|
@@ -8,14 +8,15 @@ system and services requirements, like having a working Ruby installation, Postg
|
|
8
8
|
|
9
9
|
You'll need to configure the PostgreSQL database before anything. For this,
|
10
10
|
|
11
|
-
|
11
|
+
. Configure postgresql with a super-user. For instance, for a user called `decidim_development_app_user` with password `changeme`, it'd be:
|
12
12
|
|
13
13
|
[source,console]
|
14
14
|
----
|
15
15
|
sudo -u postgres psql -c "CREATE USER decidim_development_app_user WITH SUPERUSER CREATEDB NOCREATEROLE PASSWORD 'changeme'"
|
16
16
|
----
|
17
17
|
|
18
|
-
2
|
18
|
+
[start=2]
|
19
|
+
. Save the database configuration in your environment variables configuration. If you've followed the xref:install:manual.adoc[Decidim installation manual],
|
19
20
|
then you should have a working https://github.com/rbenv/rbenv-vars[rbenv-vars] in your environment:
|
20
21
|
|
21
22
|
[source,console]
|
@@ -26,7 +27,8 @@ echo "DATABASE_PASSWORD=changeme" >> ~/.rbenv-vars
|
|
26
27
|
|
27
28
|
Of course you should change the password before anything.
|
28
29
|
|
29
|
-
|
30
|
+
[start=3]
|
31
|
+
. Then you can create a `development_app` from inside the project's root folder with the command:
|
30
32
|
|
31
33
|
[source,console]
|
32
34
|
----
|
@@ -53,7 +55,7 @@ Mind that if everything went well you shouldn't need to run these commands manua
|
|
53
55
|
====
|
54
56
|
|
55
57
|
If the default database.yml does not suit your needs you can always configure it at your will and run these steps manually, although
|
56
|
-
we recommend that you make the database configurations with environment variables (ENV VARs) so it's easy for you to regenerate the database.
|
58
|
+
we recommend that you make the database configurations with environment variables (ENV VARs) so it's easy for you to regenerate the database.
|
57
59
|
|
58
60
|
The last command will set your database and add some example data (called "seed data") so that you can start trying Decidim.
|
59
61
|
We don't recommend using seed data for production environments, but it's useful for local development and staging environments.
|
@@ -11,7 +11,7 @@ This means that:
|
|
11
11
|
. Decidim is a https://rubygems.org/gems/decidim[gem], available in rubygems.org. You can install it with the command `gem install decidim`
|
12
12
|
. Decidim is a command line generator of Ruby on Rails applications. After you've install it you can generate a new RoR app with `decidim HelloWorld`
|
13
13
|
. This app has a dependency the gem itself. You can see this in the Gemfile of the generated app.
|
14
|
-
. This app can be extended by making changes in the app (see
|
14
|
+
. This app can be extended by making changes in the app (see Customising) and by working with https://decidim.org/modules[Modules].
|
15
15
|
|
16
16
|
== Examples
|
17
17
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
= Custom map providers
|
2
2
|
|
3
|
-
Decidim can be configured to use multiple different
|
3
|
+
Decidim can be configured to use multiple different map service providers but it can be also extended to use any possible service provider out there.
|
4
4
|
|
5
5
|
If you want to create your own provider integration, you will need to find a service provider that provides all the following services:
|
6
6
|
|
@@ -496,4 +496,4 @@ In this case, the static map utility can be empty as you won't need any customiz
|
|
496
496
|
|
497
497
|
After you have finished all the steps shown above, you will need to configure your service provider for Decidim.
|
498
498
|
The configuration key for the example service provider referred to in this documentation would be `:your_provider`.
|
499
|
-
For configuration, refer to the
|
499
|
+
For configuration, refer to the maps and geocoding configuration documentation.
|
@@ -114,7 +114,7 @@ You can configure it with `crontab -e`, for instance if you've created your Deci
|
|
114
114
|
We also have other guides on how to configure some extra components:
|
115
115
|
|
116
116
|
* xref:services:activejob.adoc[ActiveJob]: For background jobs (like sending emails).
|
117
|
-
*
|
117
|
+
* Geocoding: How to enable geocoding for proposals and meetings.
|
118
118
|
* xref:services:social_providers.adoc[Social providers integration]: Enable sign up from social networks.
|
119
119
|
|
120
120
|
== Deploy
|
@@ -14,8 +14,6 @@ Decidim has built-in support for the following map service providers:
|
|
14
14
|
** As an alternative, you may also want to use your own self-hosted map servers (see <<hosting-your-own-map-services,Hosting your own map services>> for more information)
|
15
15
|
** <<configuring-open-street-maps-based-service-providers,Configuring Open Street Maps based service providers>>
|
16
16
|
|
17
|
-
If you want to integrate Decidim to some other map service provider, read how to xref:/docs/customization/maps.adoc[write your own integration code] for that.
|
18
|
-
|
19
17
|
== Configuring maps and geocoding
|
20
18
|
|
21
19
|
After generating your app, you'll see that your `config/initializers/decidim.rb` file includes commented code about map services:
|
@@ -221,10 +219,6 @@ config.maps = {
|
|
221
219
|
}
|
222
220
|
----
|
223
221
|
|
224
|
-
=== Integrating with a new service provider
|
225
|
-
|
226
|
-
If you want to integrate the map functionality with a new service provider, take a look at the xref:/docs/customization/maps.adoc[Custom map providers] documentation.
|
227
|
-
|
228
222
|
== Enabling maps and geocoding
|
229
223
|
|
230
224
|
Once the maps functionality is configured, you'll need to activate it.
|
data/lib/decidim/version.rb
CHANGED
data/package-lock.json
CHANGED
@@ -21439,12 +21439,12 @@
|
|
21439
21439
|
},
|
21440
21440
|
"packages/browserslist-config": {
|
21441
21441
|
"name": "@decidim/browserslist-config",
|
21442
|
-
"version": "0.26.
|
21442
|
+
"version": "0.26.7",
|
21443
21443
|
"license": "AGPL-3.0"
|
21444
21444
|
},
|
21445
21445
|
"packages/core": {
|
21446
21446
|
"name": "@decidim/core",
|
21447
|
-
"version": "0.26.
|
21447
|
+
"version": "0.26.7",
|
21448
21448
|
"license": "AGPL-3.0",
|
21449
21449
|
"dependencies": {
|
21450
21450
|
"@joeattardi/emoji-button": "^4.6.0",
|
@@ -21499,7 +21499,7 @@
|
|
21499
21499
|
},
|
21500
21500
|
"packages/dev": {
|
21501
21501
|
"name": "@decidim/dev",
|
21502
|
-
"version": "0.26.
|
21502
|
+
"version": "0.26.7",
|
21503
21503
|
"dev": true,
|
21504
21504
|
"license": "AGPL-3.0",
|
21505
21505
|
"dependencies": {
|
@@ -21508,7 +21508,7 @@
|
|
21508
21508
|
},
|
21509
21509
|
"packages/elections": {
|
21510
21510
|
"name": "@decidim/elections",
|
21511
|
-
"version": "0.26.
|
21511
|
+
"version": "0.26.7",
|
21512
21512
|
"license": "AGPL-3.0",
|
21513
21513
|
"dependencies": {
|
21514
21514
|
"@decidim/decidim-bulletin_board": "0.22.3",
|
@@ -21518,7 +21518,7 @@
|
|
21518
21518
|
},
|
21519
21519
|
"packages/eslint-config": {
|
21520
21520
|
"name": "@decidim/eslint-config",
|
21521
|
-
"version": "0.26.
|
21521
|
+
"version": "0.26.7",
|
21522
21522
|
"dev": true,
|
21523
21523
|
"license": "AGPL-3.0",
|
21524
21524
|
"peerDependencies": {
|
@@ -21535,7 +21535,7 @@
|
|
21535
21535
|
},
|
21536
21536
|
"packages/stylelint-config": {
|
21537
21537
|
"name": "@decidim/stylelint-config",
|
21538
|
-
"version": "0.26.
|
21538
|
+
"version": "0.26.7",
|
21539
21539
|
"dev": true,
|
21540
21540
|
"license": "AGPL-3.0",
|
21541
21541
|
"peerDependencies": {
|
@@ -21544,7 +21544,7 @@
|
|
21544
21544
|
},
|
21545
21545
|
"packages/webpacker": {
|
21546
21546
|
"name": "@decidim/webpacker",
|
21547
|
-
"version": "0.26.
|
21547
|
+
"version": "0.26.7",
|
21548
21548
|
"license": "AGPL-3.0",
|
21549
21549
|
"dependencies": {
|
21550
21550
|
"@babel/core": "^7.13.13",
|
@@ -0,0 +1,119 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
4
|
+
|
5
|
+
## [3.4.0](https://github.com/uuidjs/uuid/compare/v3.3.3...v3.4.0) (2020-01-16)
|
6
|
+
|
7
|
+
|
8
|
+
### Features
|
9
|
+
|
10
|
+
* rename repository to github:uuidjs/uuid ([#351](https://github.com/uuidjs/uuid/issues/351)) ([e2d7314](https://github.com/uuidjs/uuid/commit/e2d7314)), closes [#338](https://github.com/uuidjs/uuid/issues/338)
|
11
|
+
|
12
|
+
### [3.3.3](https://github.com/uuidjs/uuid/compare/v3.3.2...v3.3.3) (2019-08-19)
|
13
|
+
|
14
|
+
<a name="3.3.2"></a>
|
15
|
+
## [3.3.2](https://github.com/uuidjs/uuid/compare/v3.3.1...v3.3.2) (2018-06-28)
|
16
|
+
|
17
|
+
|
18
|
+
### Bug Fixes
|
19
|
+
|
20
|
+
* typo ([305d877](https://github.com/uuidjs/uuid/commit/305d877))
|
21
|
+
|
22
|
+
|
23
|
+
|
24
|
+
<a name="3.3.1"></a>
|
25
|
+
## [3.3.1](https://github.com/uuidjs/uuid/compare/v3.3.0...v3.3.1) (2018-06-28)
|
26
|
+
|
27
|
+
|
28
|
+
### Bug Fixes
|
29
|
+
|
30
|
+
* fix [#284](https://github.com/uuidjs/uuid/issues/284) by setting function name in try-catch ([f2a60f2](https://github.com/uuidjs/uuid/commit/f2a60f2))
|
31
|
+
|
32
|
+
|
33
|
+
|
34
|
+
<a name="3.3.0"></a>
|
35
|
+
# [3.3.0](https://github.com/uuidjs/uuid/compare/v3.2.1...v3.3.0) (2018-06-22)
|
36
|
+
|
37
|
+
|
38
|
+
### Bug Fixes
|
39
|
+
|
40
|
+
* assignment to readonly property to allow running in strict mode ([#270](https://github.com/uuidjs/uuid/issues/270)) ([d062fdc](https://github.com/uuidjs/uuid/commit/d062fdc))
|
41
|
+
* fix [#229](https://github.com/uuidjs/uuid/issues/229) ([c9684d4](https://github.com/uuidjs/uuid/commit/c9684d4))
|
42
|
+
* Get correct version of IE11 crypto ([#274](https://github.com/uuidjs/uuid/issues/274)) ([153d331](https://github.com/uuidjs/uuid/commit/153d331))
|
43
|
+
* mem issue when generating uuid ([#267](https://github.com/uuidjs/uuid/issues/267)) ([c47702c](https://github.com/uuidjs/uuid/commit/c47702c))
|
44
|
+
|
45
|
+
### Features
|
46
|
+
|
47
|
+
* enforce Conventional Commit style commit messages ([#282](https://github.com/uuidjs/uuid/issues/282)) ([cc9a182](https://github.com/uuidjs/uuid/commit/cc9a182))
|
48
|
+
|
49
|
+
|
50
|
+
<a name="3.2.1"></a>
|
51
|
+
## [3.2.1](https://github.com/uuidjs/uuid/compare/v3.2.0...v3.2.1) (2018-01-16)
|
52
|
+
|
53
|
+
|
54
|
+
### Bug Fixes
|
55
|
+
|
56
|
+
* use msCrypto if available. Fixes [#241](https://github.com/uuidjs/uuid/issues/241) ([#247](https://github.com/uuidjs/uuid/issues/247)) ([1fef18b](https://github.com/uuidjs/uuid/commit/1fef18b))
|
57
|
+
|
58
|
+
|
59
|
+
|
60
|
+
<a name="3.2.0"></a>
|
61
|
+
# [3.2.0](https://github.com/uuidjs/uuid/compare/v3.1.0...v3.2.0) (2018-01-16)
|
62
|
+
|
63
|
+
|
64
|
+
### Bug Fixes
|
65
|
+
|
66
|
+
* remove mistakenly added typescript dependency, rollback version (standard-version will auto-increment) ([09fa824](https://github.com/uuidjs/uuid/commit/09fa824))
|
67
|
+
* use msCrypto if available. Fixes [#241](https://github.com/uuidjs/uuid/issues/241) ([#247](https://github.com/uuidjs/uuid/issues/247)) ([1fef18b](https://github.com/uuidjs/uuid/commit/1fef18b))
|
68
|
+
|
69
|
+
|
70
|
+
### Features
|
71
|
+
|
72
|
+
* Add v3 Support ([#217](https://github.com/uuidjs/uuid/issues/217)) ([d94f726](https://github.com/uuidjs/uuid/commit/d94f726))
|
73
|
+
|
74
|
+
|
75
|
+
# [3.1.0](https://github.com/uuidjs/uuid/compare/v3.1.0...v3.0.1) (2017-06-17)
|
76
|
+
|
77
|
+
### Bug Fixes
|
78
|
+
|
79
|
+
* (fix) Add .npmignore file to exclude test/ and other non-essential files from packing. (#183)
|
80
|
+
* Fix typo (#178)
|
81
|
+
* Simple typo fix (#165)
|
82
|
+
|
83
|
+
### Features
|
84
|
+
* v5 support in CLI (#197)
|
85
|
+
* V5 support (#188)
|
86
|
+
|
87
|
+
|
88
|
+
# 3.0.1 (2016-11-28)
|
89
|
+
|
90
|
+
* split uuid versions into separate files
|
91
|
+
|
92
|
+
|
93
|
+
# 3.0.0 (2016-11-17)
|
94
|
+
|
95
|
+
* remove .parse and .unparse
|
96
|
+
|
97
|
+
|
98
|
+
# 2.0.0
|
99
|
+
|
100
|
+
* Removed uuid.BufferClass
|
101
|
+
|
102
|
+
|
103
|
+
# 1.4.0
|
104
|
+
|
105
|
+
* Improved module context detection
|
106
|
+
* Removed public RNG functions
|
107
|
+
|
108
|
+
|
109
|
+
# 1.3.2
|
110
|
+
|
111
|
+
* Improve tests and handling of v1() options (Issue #24)
|
112
|
+
* Expose RNG option to allow for perf testing with different generators
|
113
|
+
|
114
|
+
|
115
|
+
# 1.3.0
|
116
|
+
|
117
|
+
* Support for version 1 ids, thanks to [@ctavan](https://github.com/ctavan)!
|
118
|
+
* Support for node.js crypto API
|
119
|
+
* De-emphasizing performance in favor of a) cryptographic quality PRNGs where available and b) more manageable code
|
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2010-2016 Robert Kieffer and other contributors
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
@@ -0,0 +1,276 @@
|
|
1
|
+
<!--
|
2
|
+
-- This file is auto-generated from README_js.md. Changes should be made there.
|
3
|
+
-->
|
4
|
+
|
5
|
+
# uuid [![Build Status](https://secure.travis-ci.org/kelektiv/node-uuid.svg?branch=master)](http://travis-ci.org/kelektiv/node-uuid) #
|
6
|
+
|
7
|
+
Simple, fast generation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDS.
|
8
|
+
|
9
|
+
Features:
|
10
|
+
|
11
|
+
* Support for version 1, 3, 4 and 5 UUIDs
|
12
|
+
* Cross-platform
|
13
|
+
* Uses cryptographically-strong random number APIs (when available)
|
14
|
+
* Zero-dependency, small footprint (... but not [this small](https://gist.github.com/982883))
|
15
|
+
|
16
|
+
[**Deprecation warning**: The use of `require('uuid')` is deprecated and will not be
|
17
|
+
supported after version 3.x of this module. Instead, use `require('uuid/[v1|v3|v4|v5]')` as shown in the examples below.]
|
18
|
+
|
19
|
+
## Quickstart - CommonJS (Recommended)
|
20
|
+
|
21
|
+
```shell
|
22
|
+
npm install uuid
|
23
|
+
```
|
24
|
+
|
25
|
+
Then generate your uuid version of choice ...
|
26
|
+
|
27
|
+
Version 1 (timestamp):
|
28
|
+
|
29
|
+
```javascript
|
30
|
+
const uuidv1 = require('uuid/v1');
|
31
|
+
uuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d'
|
32
|
+
|
33
|
+
```
|
34
|
+
|
35
|
+
Version 3 (namespace):
|
36
|
+
|
37
|
+
```javascript
|
38
|
+
const uuidv3 = require('uuid/v3');
|
39
|
+
|
40
|
+
// ... using predefined DNS namespace (for domain names)
|
41
|
+
uuidv3('hello.example.com', uuidv3.DNS); // ⇨ '9125a8dc-52ee-365b-a5aa-81b0b3681cf6'
|
42
|
+
|
43
|
+
// ... using predefined URL namespace (for, well, URLs)
|
44
|
+
uuidv3('http://example.com/hello', uuidv3.URL); // ⇨ 'c6235813-3ba4-3801-ae84-e0a6ebb7d138'
|
45
|
+
|
46
|
+
// ... using a custom namespace
|
47
|
+
//
|
48
|
+
// Note: Custom namespaces should be a UUID string specific to your application!
|
49
|
+
// E.g. the one here was generated using this modules `uuid` CLI.
|
50
|
+
const MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';
|
51
|
+
uuidv3('Hello, World!', MY_NAMESPACE); // ⇨ 'e8b5a51d-11c8-3310-a6ab-367563f20686'
|
52
|
+
|
53
|
+
```
|
54
|
+
|
55
|
+
Version 4 (random):
|
56
|
+
|
57
|
+
```javascript
|
58
|
+
const uuidv4 = require('uuid/v4');
|
59
|
+
uuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'
|
60
|
+
|
61
|
+
```
|
62
|
+
|
63
|
+
Version 5 (namespace):
|
64
|
+
|
65
|
+
```javascript
|
66
|
+
const uuidv5 = require('uuid/v5');
|
67
|
+
|
68
|
+
// ... using predefined DNS namespace (for domain names)
|
69
|
+
uuidv5('hello.example.com', uuidv5.DNS); // ⇨ 'fdda765f-fc57-5604-a269-52a7df8164ec'
|
70
|
+
|
71
|
+
// ... using predefined URL namespace (for, well, URLs)
|
72
|
+
uuidv5('http://example.com/hello', uuidv5.URL); // ⇨ '3bbcee75-cecc-5b56-8031-b6641c1ed1f1'
|
73
|
+
|
74
|
+
// ... using a custom namespace
|
75
|
+
//
|
76
|
+
// Note: Custom namespaces should be a UUID string specific to your application!
|
77
|
+
// E.g. the one here was generated using this modules `uuid` CLI.
|
78
|
+
const MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';
|
79
|
+
uuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681'
|
80
|
+
|
81
|
+
```
|
82
|
+
|
83
|
+
## API
|
84
|
+
|
85
|
+
### Version 1
|
86
|
+
|
87
|
+
```javascript
|
88
|
+
const uuidv1 = require('uuid/v1');
|
89
|
+
|
90
|
+
// Incantations
|
91
|
+
uuidv1();
|
92
|
+
uuidv1(options);
|
93
|
+
uuidv1(options, buffer, offset);
|
94
|
+
```
|
95
|
+
|
96
|
+
Generate and return a RFC4122 v1 (timestamp-based) UUID.
|
97
|
+
|
98
|
+
* `options` - (Object) Optional uuid state to apply. Properties may include:
|
99
|
+
|
100
|
+
* `node` - (Array) Node id as Array of 6 bytes (per 4.1.6). Default: Randomly generated ID. See note 1.
|
101
|
+
* `clockseq` - (Number between 0 - 0x3fff) RFC clock sequence. Default: An internally maintained clockseq is used.
|
102
|
+
* `msecs` - (Number) Time in milliseconds since unix Epoch. Default: The current time is used.
|
103
|
+
* `nsecs` - (Number between 0-9999) additional time, in 100-nanosecond units. Ignored if `msecs` is unspecified. Default: internal uuid counter is used, as per 4.2.1.2.
|
104
|
+
|
105
|
+
* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written.
|
106
|
+
* `offset` - (Number) Starting index in `buffer` at which to begin writing.
|
107
|
+
|
108
|
+
Returns `buffer`, if specified, otherwise the string form of the UUID
|
109
|
+
|
110
|
+
Note: The default [node id](https://tools.ietf.org/html/rfc4122#section-4.1.6) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process.
|
111
|
+
|
112
|
+
Example: Generate string UUID with fully-specified options
|
113
|
+
|
114
|
+
```javascript
|
115
|
+
const v1options = {
|
116
|
+
node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],
|
117
|
+
clockseq: 0x1234,
|
118
|
+
msecs: new Date('2011-11-01').getTime(),
|
119
|
+
nsecs: 5678
|
120
|
+
};
|
121
|
+
uuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab'
|
122
|
+
|
123
|
+
```
|
124
|
+
|
125
|
+
Example: In-place generation of two binary IDs
|
126
|
+
|
127
|
+
```javascript
|
128
|
+
// Generate two ids in an array
|
129
|
+
const arr = new Array();
|
130
|
+
uuidv1(null, arr, 0); // ⇨
|
131
|
+
// [
|
132
|
+
// 44, 94, 164, 192, 64, 103,
|
133
|
+
// 17, 233, 146, 52, 155, 29,
|
134
|
+
// 235, 77, 59, 125
|
135
|
+
// ]
|
136
|
+
uuidv1(null, arr, 16); // ⇨
|
137
|
+
// [
|
138
|
+
// 44, 94, 164, 192, 64, 103, 17, 233,
|
139
|
+
// 146, 52, 155, 29, 235, 77, 59, 125,
|
140
|
+
// 44, 94, 164, 193, 64, 103, 17, 233,
|
141
|
+
// 146, 52, 155, 29, 235, 77, 59, 125
|
142
|
+
// ]
|
143
|
+
|
144
|
+
```
|
145
|
+
|
146
|
+
### Version 3
|
147
|
+
|
148
|
+
```javascript
|
149
|
+
const uuidv3 = require('uuid/v3');
|
150
|
+
|
151
|
+
// Incantations
|
152
|
+
uuidv3(name, namespace);
|
153
|
+
uuidv3(name, namespace, buffer);
|
154
|
+
uuidv3(name, namespace, buffer, offset);
|
155
|
+
```
|
156
|
+
|
157
|
+
Generate and return a RFC4122 v3 UUID.
|
158
|
+
|
159
|
+
* `name` - (String | Array[]) "name" to create UUID with
|
160
|
+
* `namespace` - (String | Array[]) "namespace" UUID either as a String or Array[16] of byte values
|
161
|
+
* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written.
|
162
|
+
* `offset` - (Number) Starting index in `buffer` at which to begin writing. Default = 0
|
163
|
+
|
164
|
+
Returns `buffer`, if specified, otherwise the string form of the UUID
|
165
|
+
|
166
|
+
Example:
|
167
|
+
|
168
|
+
```javascript
|
169
|
+
uuidv3('hello world', MY_NAMESPACE); // ⇨ '042ffd34-d989-321c-ad06-f60826172424'
|
170
|
+
|
171
|
+
```
|
172
|
+
|
173
|
+
### Version 4
|
174
|
+
|
175
|
+
```javascript
|
176
|
+
const uuidv4 = require('uuid/v4')
|
177
|
+
|
178
|
+
// Incantations
|
179
|
+
uuidv4();
|
180
|
+
uuidv4(options);
|
181
|
+
uuidv4(options, buffer, offset);
|
182
|
+
```
|
183
|
+
|
184
|
+
Generate and return a RFC4122 v4 UUID.
|
185
|
+
|
186
|
+
* `options` - (Object) Optional uuid state to apply. Properties may include:
|
187
|
+
* `random` - (Number[16]) Array of 16 numbers (0-255) to use in place of randomly generated values
|
188
|
+
* `rng` - (Function) Random # generator function that returns an Array[16] of byte values (0-255)
|
189
|
+
* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written.
|
190
|
+
* `offset` - (Number) Starting index in `buffer` at which to begin writing.
|
191
|
+
|
192
|
+
Returns `buffer`, if specified, otherwise the string form of the UUID
|
193
|
+
|
194
|
+
Example: Generate string UUID with predefined `random` values
|
195
|
+
|
196
|
+
```javascript
|
197
|
+
const v4options = {
|
198
|
+
random: [
|
199
|
+
0x10, 0x91, 0x56, 0xbe, 0xc4, 0xfb, 0xc1, 0xea,
|
200
|
+
0x71, 0xb4, 0xef, 0xe1, 0x67, 0x1c, 0x58, 0x36
|
201
|
+
]
|
202
|
+
};
|
203
|
+
uuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836'
|
204
|
+
|
205
|
+
```
|
206
|
+
|
207
|
+
Example: Generate two IDs in a single buffer
|
208
|
+
|
209
|
+
```javascript
|
210
|
+
const buffer = new Array();
|
211
|
+
uuidv4(null, buffer, 0); // ⇨
|
212
|
+
// [
|
213
|
+
// 155, 29, 235, 77, 59,
|
214
|
+
// 125, 75, 173, 155, 221,
|
215
|
+
// 43, 13, 123, 61, 203,
|
216
|
+
// 109
|
217
|
+
// ]
|
218
|
+
uuidv4(null, buffer, 16); // ⇨
|
219
|
+
// [
|
220
|
+
// 155, 29, 235, 77, 59, 125, 75, 173,
|
221
|
+
// 155, 221, 43, 13, 123, 61, 203, 109,
|
222
|
+
// 27, 157, 107, 205, 187, 253, 75, 45,
|
223
|
+
// 155, 93, 171, 141, 251, 189, 75, 237
|
224
|
+
// ]
|
225
|
+
|
226
|
+
```
|
227
|
+
|
228
|
+
### Version 5
|
229
|
+
|
230
|
+
```javascript
|
231
|
+
const uuidv5 = require('uuid/v5');
|
232
|
+
|
233
|
+
// Incantations
|
234
|
+
uuidv5(name, namespace);
|
235
|
+
uuidv5(name, namespace, buffer);
|
236
|
+
uuidv5(name, namespace, buffer, offset);
|
237
|
+
```
|
238
|
+
|
239
|
+
Generate and return a RFC4122 v5 UUID.
|
240
|
+
|
241
|
+
* `name` - (String | Array[]) "name" to create UUID with
|
242
|
+
* `namespace` - (String | Array[]) "namespace" UUID either as a String or Array[16] of byte values
|
243
|
+
* `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written.
|
244
|
+
* `offset` - (Number) Starting index in `buffer` at which to begin writing. Default = 0
|
245
|
+
|
246
|
+
Returns `buffer`, if specified, otherwise the string form of the UUID
|
247
|
+
|
248
|
+
Example:
|
249
|
+
|
250
|
+
```javascript
|
251
|
+
uuidv5('hello world', MY_NAMESPACE); // ⇨ '9f282611-e0fd-5650-8953-89c8e342da0b'
|
252
|
+
|
253
|
+
```
|
254
|
+
|
255
|
+
## Command Line
|
256
|
+
|
257
|
+
UUIDs can be generated from the command line with the `uuid` command.
|
258
|
+
|
259
|
+
```shell
|
260
|
+
$ uuid
|
261
|
+
ddeb27fb-d9a0-4624-be4d-4615062daed4
|
262
|
+
|
263
|
+
$ uuid v1
|
264
|
+
02d37060-d446-11e7-a9fa-7bdae751ebe1
|
265
|
+
```
|
266
|
+
|
267
|
+
Type `uuid --help` for usage details
|
268
|
+
|
269
|
+
## Testing
|
270
|
+
|
271
|
+
```shell
|
272
|
+
npm test
|
273
|
+
```
|
274
|
+
|
275
|
+
----
|
276
|
+
Markdown generated from [README_js.md](README_js.md) by [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](https://github.com/broofa/runmd)
|