aboutsummaryrefslogtreecommitdiff
path: root/node_modules/md5-hex/index.js
blob: 82cfae30612b27eb2ad538059de103141a275308 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
'use strict';
const crypto = require('crypto');

module.exports = function (input) {
	const hash = crypto.createHash('md5');

	const update = buf => {
		const inputEncoding = typeof buf === 'string' ? 'utf8' : undefined;
		hash.update(buf, inputEncoding);
	};

	if (arguments.length > 1) {
		throw new Error('Too many arguments. Try specifying an array.');
	}

	if (Array.isArray(input)) {
		input.forEach(update);
	} else {
		update(input);
	}

	return hash.digest('hex');
};