diff options
author | Florian Dold <florian.dold@gmail.com> | 2018-09-20 02:56:13 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2018-09-20 02:56:13 +0200 |
commit | bbff7403fbf46f9ad92240ac213df8d30ef31b64 (patch) | |
tree | c58400ec5124da1c7d56b01aea83309f80a56c3b /node_modules/promise/build.js | |
parent | 003fb34971cf63466184351b4db5f7c67df4f444 (diff) |
update packages
Diffstat (limited to 'node_modules/promise/build.js')
-rw-r--r-- | node_modules/promise/build.js | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/node_modules/promise/build.js b/node_modules/promise/build.js index 1e028e9a1..99947d1fe 100644 --- a/node_modules/promise/build.js +++ b/node_modules/promise/build.js @@ -4,19 +4,19 @@ var fs = require('fs'); var rimraf = require('rimraf'); var acorn = require('acorn'); var walk = require('acorn/dist/walk'); +var crypto = require('crypto'); -var ids = []; -var names = {}; +var shasum = crypto.createHash('sha512'); +fs.readdirSync(__dirname + '/src').sort().forEach(function (filename) { + shasum.update(fs.readFileSync(__dirname + '/src/' + filename, 'utf8')); +}); +const names = {}; +const characterSet = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; +let i = characterSet.indexOf(shasum.digest('base64').replace(/[^0-9a-zA-Z]/g, '')[0]); function getIdFor(name) { - if (name in names) return names[name]; - var id; - do { - id = '_' + Math.floor(Math.random() * 100); - } while (ids.indexOf(id) !== -1) - ids.push(id); - names[name] = id; - return id; + if (names[name]) return names[name]; + return names[name] = '_' + characterSet[i++ % characterSet.length] } function fixup(src) { @@ -30,9 +30,6 @@ function fixup(src) { replace(node.property, getIdFor(node.property.name)); } }); - function source(node) { - return src.slice(node.start, node.end).join(''); - } function replace(node, str) { for (var i = node.start; i < node.end; i++) { src[i] = ''; |