aboutsummaryrefslogtreecommitdiff
path: root/node_modules/promise/build.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2018-09-20 02:56:13 +0200
committerFlorian Dold <florian.dold@gmail.com>2018-09-20 02:56:13 +0200
commitbbff7403fbf46f9ad92240ac213df8d30ef31b64 (patch)
treec58400ec5124da1c7d56b01aea83309f80a56c3b /node_modules/promise/build.js
parent003fb34971cf63466184351b4db5f7c67df4f444 (diff)
update packages
Diffstat (limited to 'node_modules/promise/build.js')
-rw-r--r--node_modules/promise/build.js23
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] = '';