(metadata)
| 4530 | } |
| 4531 | var parseHashWithOptions = new RegExp("(?<algo>sha256|sha384|sha512)-((?<hash>[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\\s|$)( +[!-~]*)?)?", "i"); |
| 4532 | function parseMetadata(metadata) { |
| 4533 | const result = []; |
| 4534 | let empty = true; |
| 4535 | for (const token of metadata.split(" ")) { |
| 4536 | empty = false; |
| 4537 | const parsedToken = parseHashWithOptions.exec(token); |
| 4538 | if (parsedToken === null || parsedToken.groups === void 0 || parsedToken.groups.algo === void 0) { |
| 4539 | continue; |
| 4540 | } |
| 4541 | const algorithm = parsedToken.groups.algo.toLowerCase(); |
| 4542 | if (supportedHashes.includes(algorithm)) { |
| 4543 | result.push(parsedToken.groups); |
| 4544 | } |
| 4545 | } |
| 4546 | if (empty === true) { |
| 4547 | return "no metadata"; |
| 4548 | } |
| 4549 | return result; |
| 4550 | } |
| 4551 | function getStrongestMetadata(metadataList) { |
| 4552 | let algorithm = metadataList[0].algo; |
| 4553 | if (algorithm[3] === "5") { |
no test coverage detected