diff --git a/.size-limit b/.size-limit index 2fc3b2f..1baf1ba 100644 --- a/.size-limit +++ b/.size-limit @@ -1,6 +1,6 @@ [ { "path": "index.js", - "limit": "959 B" + "limit": "974 B" } ] diff --git a/lib/generate.js b/lib/generate.js index 8e8c20b..83d0c51 100644 --- a/lib/generate.js +++ b/lib/generate.js @@ -9,8 +9,10 @@ function generate(number) { var str = ''; - while (!done) { - str = str + nanoIdgenerate(alphabet.characters(), 10)[loopCounter]; + var random = nanoIdgenerate(alphabet.characters(), 16); + + while (!done && loopCounter < 16) { + str = str + random[loopCounter]; done = number < (Math.pow(16, loopCounter + 1 ) ); loopCounter++; } diff --git a/lib/random/random-byte-browser.js b/lib/random/random-byte-browser.js deleted file mode 100644 index 2a6081d..0000000 --- a/lib/random/random-byte-browser.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; - -var crypto = typeof window === 'object' && (window.crypto || window.msCrypto); // IE 11 uses window.msCrypto - -function randomByte() { - if (!crypto || !crypto.getRandomValues) { - return Math.floor(Math.random() * 256) & 0x30; - } - var dest = new Uint8Array(1); - crypto.getRandomValues(dest); - return dest[0] & 0x30; -} - -module.exports = randomByte; diff --git a/lib/random/random-byte.js b/lib/random/random-byte.js deleted file mode 100644 index 7add0f5..0000000 --- a/lib/random/random-byte.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -var crypto = require('crypto'); -var randomBytes = crypto.randomBytes; - -function randomByte() { - return randomBytes(1)[0] & 0x30; -} - -module.exports = randomByte; diff --git a/package.json b/package.json index dec7c50..0fc5b49 100644 --- a/package.json +++ b/package.json @@ -28,8 +28,7 @@ "url": "https://github.com/dylang/shortid.git" }, "browser": { - "./lib/util/cluster-worker-id.js": "./lib/util/cluster-worker-id-browser.js", - "./lib/random/random-byte.js": "./lib/random/random-byte-browser.js" + "./lib/util/cluster-worker-id.js": "./lib/util/cluster-worker-id-browser.js" }, "devDependencies": { "chai": "^4.1.2", diff --git a/yarn.lock b/yarn.lock index c8141af..fa7e0ec 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3016,6 +3016,10 @@ nan@^2.9.2: version "2.10.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" +nanoid@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-1.0.5.tgz#4a45db5a53c02ae29188d6b136fbf069eecbd000" + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"