Urara-Blog/node_modules/.pnpm-store/v3/files/22/a60789a91d6e746fd0eb0766b43b2f268a3db14541cc005301dbc3965e41c6fe9de9981b4ece464921399e77b300f7c14491b37043797d3bdc0cc5a28427bc
2022-08-14 01:14:53 +08:00

34 lines
746 B
Text

/*
Copyright 2018 Google LLC
Use of this source code is governed by an MIT-style
license that can be found in the LICENSE file or at
https://opensource.org/licenses/MIT.
*/
import crypto from 'crypto';
import {FileDetails} from '../types';
export function getCompositeDetails(
compositeURL: string,
dependencyDetails: Array<FileDetails>,
): FileDetails {
let totalSize = 0;
let compositeHash = '';
for (const fileDetails of dependencyDetails) {
totalSize += fileDetails.size;
compositeHash += fileDetails.hash;
}
const md5 = crypto.createHash('md5');
md5.update(compositeHash);
const hashOfHashes = md5.digest('hex');
return {
file: compositeURL,
hash: hashOfHashes,
size: totalSize,
};
}