JSPM

nodestream-transform-checksum

0.5.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 56
  • Score
    100M100P100Q65181F
  • License BSD-3-Clause

Checksum calculator for Nodestream

Package Exports

  • nodestream-transform-checksum

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (nodestream-transform-checksum) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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.