12345678910111213141516171819202122232425262728293031 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var crypto_1 = require("crypto");
- exports.cache = Object.create(null);
- function sha1() {
- var data = [];
- for (var _i = 0; _i < arguments.length; _i++) {
- data[_i] = arguments[_i];
- }
- var canCache = data.length === 1 && typeof data[0] === 'string';
- var cacheKey;
- if (canCache) {
- cacheKey = data[0];
- if (cacheKey in exports.cache) {
- return exports.cache[cacheKey];
- }
- }
- var hash = crypto_1.createHash('sha1');
- data.forEach(function (item) {
- if (typeof item === 'string')
- hash.update(item, 'utf8');
- else
- hash.update(item);
- });
- var res = hash.digest('hex').toString();
- if (canCache) {
- exports.cache[cacheKey] = res;
- }
- return res;
- }
- exports.sha1 = sha1;
|