Muqriz 48f16bfc3e initail first | 4 月之前 | |
---|---|---|
.. | ||
.github | 4 月之前 | |
LICENSE | 4 月之前 | |
NEWS.md | 4 月之前 | |
README.md | 4 月之前 | |
index.d.ts | 4 月之前 | |
index.js | 4 月之前 | |
index.test-d.ts | 4 月之前 | |
package.json | 4 月之前 | |
yarn.lock | 4 月之前 |
Sumchecker is a pure Node.js solution to validating files specified in a checksum file, which are
usually generated by programs such as sha256sum
.
const sumchecker = require('sumchecker');
try {
await sumchecker(algorithm, checksumFilename, baseDir, filesToCheck);
console.log('All files validate!');
} catch (error) {
console.error('An error occurred', error);
}
Returns a Promise
. The promise is resolved when all files specified in
filesToCheck
are validated. The promise is rejected otherwise.
algorithm
String
- The hash algorithm used in checksumFilename
. Corresponds to the
algorithms allowed by crypto.createHash()
.
checksumFilename
String
- The path to the checksum file.
baseDir
String
- The base directory for the files specified in filesToCheck
.
filesToCheck
Array
or String
- one or more paths of the files that will be validated, relative to
baseDir
.
These are sumchecker
-specific error classes that are passed to the promise’s reject callback.
sumchecker.ChecksumMismatchError
When at least one of the files does not match its expected checksum.
Properties:
filename
(String
) - a path to a file that did not matchsumchecker.ChecksumParseError
When the checksum file cannot be parsed (as in, it does not match the checksum file format).
Properties:
lineNumber
(Number
) - the line number that could not be parsedline
(String
) - the raw line data that could not be parsed, sans newlinesumchecker.NoChecksumFoundError
When at least one of the files specified to check is not listed in the checksum file.
Properties:
filename
(String
) - a filename from filesToCheck
Get supported sumchecker with the Tidelift Subscription.
To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.
This library is copyrighted under the terms of the Apache 2.0 License.