/
var
/
www
/
flurhymez
/
node_modules
/
webpack
/
lib
/
util
/
/var/www/flurhymez/node_modules/webpack/lib/util
mkdir
upload
Name
Size
Mode
Actions
hash/
-
0755
rm
ArrayHelpers.js
280
0644
edit
dl
rm
ArrayQueue.js
2198
0644
edit
dl
rm
AsyncQueue.js
9631
0644
edit
dl
rm
binarySearchBounds.js
1907
0644
edit
dl
rm
cleverMerge.js
16534
0644
edit
dl
rm
comparators.js
12446
0644
edit
dl
rm
compileBooleanMatcher.js
5822
0644
edit
dl
rm
create-schema-validation.js
477
0644
edit
dl
rm
createHash.js
4819
0644
edit
dl
rm
deprecation.js
6454
0644
edit
dl
rm
deterministicGrouping.js
13764
0644
edit
dl
rm
extractUrlAndGlobal.js
416
0644
edit
dl
rm
findGraphRoots.js
6111
0644
edit
dl
rm
fs.js
10776
0644
edit
dl
rm
Hash.js
925
0644
edit
dl
rm
identifier.js
10335
0644
edit
dl
rm
internalSerializables.js
9973
0644
edit
dl
rm
IterableHelpers.js
962
0644
edit
dl
rm
LazyBucketSortedSet.js
5732
0644
edit
dl
rm
LazySet.js
4569
0644
edit
dl
rm
makeSerializable.js
640
0644
edit
dl
rm
MapHelpers.js
472
0644
edit
dl
rm
memoize.js
604
0644
edit
dl
rm
numberHash.js
1060
0644
edit
dl
rm
objectToMap.js
346
0644
edit
dl
rm
ParallelismFactorCalculator.js
1528
0644
edit
dl
rm
processAsyncTree.js
1483
0644
edit
dl
rm
propertyAccess.js
1190
0644
edit
dl
rm
Queue.js
1048
0644
edit
dl
rm
registerExternalSerializer.js
7913
0644
edit
dl
rm
runtime.js
14605
0644
edit
dl
rm
Semaphore.js
1008
0644
edit
dl
rm
semver.js
15546
0644
edit
dl
rm
serialization.js
4018
0644
edit
dl
rm
SetHelpers.js
2316
0644
edit
dl
rm
smartGrouping.js
5271
0644
edit
dl
rm
SortableSet.js
3635
0644
edit
dl
rm
source.js
1759
0644
edit
dl
rm
StackedCacheMap.js
2284
0644
edit
dl
rm
StackedMap.js
3453
0644
edit
dl
rm
StringXor.js
1120
0644
edit
dl
rm
TupleQueue.js
1317
0644
edit
dl
rm
TupleSet.js
2909
0644
edit
dl
rm
URLAbsoluteSpecifier.js
2553
0644
edit
dl
rm
WeakTupleMap.js
3443
0644
edit
dl
rm
Edit:
/var/www/flurhymez/node_modules/webpack/lib/util/createHash.js
(4819B)
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; const Hash = require("./Hash"); const BULK_SIZE = 2000; // We are using an object instead of a Map as this will stay static during the runtime // so access to it can be optimized by v8 const digestCaches = {}; class BulkUpdateDecorator extends Hash { /** * @param {Hash | function(): Hash} hashOrFactory function to create a hash * @param {string=} hashKey key for caching */ constructor(hashOrFactory, hashKey) { super(); this.hashKey = hashKey; if (typeof hashOrFactory === "function") { this.hashFactory = hashOrFactory; this.hash = undefined; } else { this.hashFactory = undefined; this.hash = hashOrFactory; } this.buffer = ""; } /** * Update hash {@link https://nodejs.org/api/crypto.html#crypto_hash_update_data_inputencoding} * @param {string|Buffer} data data * @param {string=} inputEncoding data encoding * @returns {this} updated hash */ update(data, inputEncoding) { if ( inputEncoding !== undefined || typeof data !== "string" || data.length > BULK_SIZE ) { if (this.hash === undefined) this.hash = this.hashFactory(); if (this.buffer.length > 0) { this.hash.update(this.buffer); this.buffer = ""; } this.hash.update(data, inputEncoding); } else { this.buffer += data; if (this.buffer.length > BULK_SIZE) { if (this.hash === undefined) this.hash = this.hashFactory(); this.hash.update(this.buffer); this.buffer = ""; } } return this; } /** * Calculates the digest {@link https://nodejs.org/api/crypto.html#crypto_hash_digest_encoding} * @param {string=} encoding encoding of the return value * @returns {string|Buffer} digest */ digest(encoding) { let digestCache; const buffer = this.buffer; if (this.hash === undefined) { // short data for hash, we can use caching const cacheKey = `${this.hashKey}-${encoding}`; digestCache = digestCaches[cacheKey]; if (digestCache === undefined) { digestCache = digestCaches[cacheKey] = new Map(); } const cacheEntry = digestCache.get(buffer); if (cacheEntry !== undefined) return cacheEntry; this.hash = this.hashFactory(); } if (buffer.length > 0) { this.hash.update(buffer); } const digestResult = this.hash.digest(encoding); const result = typeof digestResult === "string" ? digestResult : digestResult.toString(); if (digestCache !== undefined) { digestCache.set(buffer, result); } return result; } } /* istanbul ignore next */ class DebugHash extends Hash { constructor() { super(); this.string = ""; } /** * Update hash {@link https://nodejs.org/api/crypto.html#crypto_hash_update_data_inputencoding} * @param {string|Buffer} data data * @param {string=} inputEncoding data encoding * @returns {this} updated hash */ update(data, inputEncoding) { if (typeof data !== "string") data = data.toString("utf-8"); if (data.startsWith("debug-digest-")) { data = Buffer.from(data.slice("debug-digest-".length), "hex").toString(); } this.string += `[${data}](${new Error().stack.split("\n", 3)[2]})\n`; return this; } /** * Calculates the digest {@link https://nodejs.org/api/crypto.html#crypto_hash_digest_encoding} * @param {string=} encoding encoding of the return value * @returns {string|Buffer} digest */ digest(encoding) { return "debug-digest-" + Buffer.from(this.string).toString("hex"); } } let crypto = undefined; let createXXHash64 = undefined; let createMd4 = undefined; let BatchedHash = undefined; /** * Creates a hash by name or function * @param {string | typeof Hash} algorithm the algorithm name or a constructor creating a hash * @returns {Hash} the hash */ module.exports = algorithm => { if (typeof algorithm === "function") { return new BulkUpdateDecorator(() => new algorithm()); } switch (algorithm) { // TODO add non-cryptographic algorithm here case "debug": return new DebugHash(); case "xxhash64": if (createXXHash64 === undefined) { createXXHash64 = require("./hash/xxhash64"); if (BatchedHash === undefined) { BatchedHash = require("./hash/BatchedHash"); } } return new BatchedHash(createXXHash64()); case "md4": if (createMd4 === undefined) { createMd4 = require("./hash/md4"); if (BatchedHash === undefined) { BatchedHash = require("./hash/BatchedHash"); } } return new BatchedHash(createMd4()); case "native-md4": if (crypto === undefined) crypto = require("crypto"); return new BulkUpdateDecorator(() => crypto.createHash("md4"), "md4"); default: if (crypto === undefined) crypto = require("crypto"); return new BulkUpdateDecorator( () => crypto.createHash(algorithm), algorithm ); } };
Save
cmd:
run