Submit
Path:
~
/
/
usr
/
local
/
lib
/
node_modules
/
npm
/
node_modules
/
sha
/
File Content:
index.js
'use strict' var Transform = require('stream').Transform || require('readable-stream').Transform var crypto = require('crypto') var fs = require('graceful-fs') exports.check = check exports.checkSync = checkSync exports.get = get exports.getSync = getSync exports.stream = stream function check(file, expected, options, cb) { if (typeof options === 'function') { cb = options options = undefined } expected = expected.toLowerCase().trim() get(file, options, function (er, actual) { if (er) { if (er.message) er.message += ' while getting shasum for ' + file return cb(er) } if (actual === expected) return cb(null) cb(new Error( 'shasum check failed for ' + file + '\n' + 'Expected: ' + expected + '\n' + 'Actual: ' + actual)) }) } function checkSync(file, expected, options) { expected = expected.toLowerCase().trim() var actual try { actual = getSync(file, options) } catch (er) { if (er.message) er.message += ' while getting shasum for ' + file throw er } if (actual !== expected) { var ex = new Error( 'shasum check failed for ' + file + '\n' + 'Expected: ' + expected + '\n' + 'Actual: ' + actual) throw ex } } function get(file, options, cb) { if (typeof options === 'function') { cb = options options = undefined } options = options || {} var algorithm = options.algorithm || 'sha1' var hash = crypto.createHash(algorithm) var source = fs.createReadStream(file) var errState = null source .on('error', function (er) { if (errState) return return cb(errState = er) }) .on('data', function (chunk) { if (errState) return hash.update(chunk) }) .on('end', function () { if (errState) return var actual = hash.digest("hex").toLowerCase().trim() cb(null, actual) }) } function getSync(file, options) { options = options || {} var algorithm = options.algorithm || 'sha1' var hash = crypto.createHash(algorithm) var source = fs.readFileSync(file) hash.update(source) return hash.digest("hex").toLowerCase().trim() } function stream(expected, options) { expected = expected.toLowerCase().trim() options = options || {} var algorithm = options.algorithm || 'sha1' var hash = crypto.createHash(algorithm) var stream = new Transform() stream._transform = function (chunk, encoding, callback) { hash.update(chunk) stream.push(chunk) callback() } stream._flush = function (cb) { var actual = hash.digest("hex").toLowerCase().trim() if (actual === expected) return cb(null) cb(new Error( 'shasum check failed for:\n' + ' Expected: ' + expected + '\n' + ' Actual: ' + actual)) this.push(null) } return stream }
Edit
Rename
Chmod
Delete
FILE
FOLDER
Name
Size
Permission
Action
.npmignore
40 bytes
0644
LICENSE
2326 bytes
0644
README.md
1744 bytes
0644
index.js
2808 bytes
0644
package.json
1279 bytes
0644
N4ST4R_ID | Naxtarrr