Comparing version 1.2.0 to 1.2.1
25
async.js
@@ -12,2 +12,3 @@ var crypto = require('crypto') | ||
* @param {number} [size=21] The number of symbols in ID. | ||
* @param {function} callback for environments without `Promise`. | ||
* | ||
@@ -25,8 +26,8 @@ * @return {Promise} Promise with random string. | ||
*/ | ||
module.exports = function (size) { | ||
module.exports = function (size, callback) { | ||
size = size || 21 | ||
return new Promise(function (resolve, reject) { | ||
if (callback) { | ||
crypto.randomBytes(size, function (err, bytes) { | ||
if (err) { | ||
reject(err) | ||
callback(err) | ||
} else { | ||
@@ -37,6 +38,20 @@ var id = '' | ||
} | ||
resolve(id) | ||
callback(null, id) | ||
} | ||
}) | ||
}) | ||
} else { | ||
return new Promise(function (resolve, reject) { | ||
crypto.randomBytes(size, function (err, bytes) { | ||
if (err) { | ||
reject(err) | ||
} else { | ||
var id = '' | ||
while (0 < size--) { | ||
id += url[bytes[size] & 63] | ||
} | ||
resolve(id) | ||
} | ||
}) | ||
}) | ||
} | ||
} |
# Change Log | ||
This project adheres to [Semantic Versioning](http://semver.org/). | ||
## 1.2.1 | ||
* Fix old Node.js support. | ||
## 1.2 | ||
@@ -5,0 +8,0 @@ * Add `nanoid/async`. |
{ | ||
"name": "nanoid", | ||
"version": "1.2.0", | ||
"version": "1.2.1", | ||
"description": "A tiny (145 bytes), secure URL-friendly unique string ID generator", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
@@ -124,3 +124,3 @@ # Nano ID | ||
[ID collision probability]: https://alex7kom.github.io/nano-nanoid-cc/ | ||
[ID collision probability]: https://zelark.github.io/nano-id-cc/ | ||
@@ -222,3 +222,3 @@ | ||
[`nanoid-dictionary`]: https://github.com/CyberAP/nanoid-dictionary | ||
[ID size calculator]: https://alex7kom.github.io/nano-nanoid-cc/ | ||
[ID size calculator]: https://zelark.github.io/nano-id-cc/ | ||
[`nanoid-cli`]: https://github.com/twhitbeck/nanoid-cli | ||
@@ -225,0 +225,0 @@ [`nanoid-good`]: https://github.com/y-gagar1n/nanoid-good |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
15740
227