nodestream-transform-checksum

0.5.1 • Public • Published

Nodestream - Checksum Transform

NPM Version Build Status Coverage Status Documentation Status Built with GNU Make

Checksum calculator for Nodestream

Identity:: checksum

API docs

Description

This transformer allows you to calculate checksums of the files you upload/download with Nodestream. It can also be used as a standalone library, although it does not provide much in addition to the standard crypto APIs.

Usage

Installation

npm install --save nodestream-transform-checksum

Configuration

You need to register this tranform with Nodestream before you can use it:

// Assuming you already have a nodestream instance configured with an adapter
nodestream.registerTransform('checksum')

Now you can create a pipeline which will use this transform:

const pipeline = nodestream.pipeline()
  .use('checksum', {
    algorithm: 'md5',
    buffer: false
  })

The transform accepts two options:

  • algorithm: Which hashing algorithm should be used. This can be anything that crypto.getHashes() shows on your system.
  • buffer: By default, the resulting hash will be returned as hex string. Set this to true to get the actual raw buffer instead.

Results

This transform will publish its data to the checksum property (this transform's identity) on the results response:

// Uploads
const file = fs.createReadStream('/users/me/profile-pic.png')
pipeline.upload(file, { name: 'avatar.png' })
.then(results => {
  results.checksum.value // The actual hash
  results.checksum.algorithm // The algorithm used
})
 
// Downloads
const dest = fs.createWriteStream('/users/me/profile-pic.png')
pipeline.download('avatars/user-123.png', dest)
.then(results => {
  results.checksum.value // The actual hash
  results.checksum.algorithm // The algorithm used
})

License

This software is licensed under the BSD-3-Clause License. See the LICENSE file for more information.

Package Sidebar

Install

npm i nodestream-transform-checksum

Weekly Downloads

4

Version

0.5.1

License

BSD-3-Clause

Last publish

Collaborators

  • dreamscapes