.. | ||
.github | ||
index.d.ts | ||
index.js | ||
index.test-d.ts | ||
LICENSE | ||
NEWS.md | ||
package.json | ||
README.md | ||
yarn.lock |
Sumchecker
Sumchecker is a pure Node.js solution to validating files specified in a checksum file, which are
usually generated by programs such as sha256sum
.
Usage
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.
Parameters
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
.
Errors
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 match
sumchecker.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 newline
sumchecker.NoChecksumFoundError
When at least one of the files specified to check is not listed in the checksum file.
Properties:
filename
(String
) - a filename fromfilesToCheck
Support
Get supported sumchecker with the Tidelift Subscription.
Security contact information
To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.
Legal
This library is copyrighted under the terms of the Apache 2.0 License.