JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 27
  • Score
    100M100P100Q59474F
  • License MIT

Fast and easy to use bencode codec.

Package Exports

  • bencodec

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 (bencodec) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

NPM

ci Coverage Status NPM Downloads NPM License

Bencodec

Library for decoding and encoding bencoded data.
Compliant with the BitTorrent bencoding specification.

Fast and easy to use.
Written in TypeScript.
Fully tested with 100% code coverage.
Without dependencies.

Installation

npm yarn
npm install --save bencodec yarn add bencodec

Getting Started

Import library
typescript javascript
import bencodec from 'bencodec' const bencodec = require('bencodec')
Decode data

To convert byte strings to strings pass true as the second parameter.

  bencodec.decode( 'd3:bar4:spam3:fooi42ee' );
  // { bar: <Buffer 73 70 61 6d>, foo: 42 }
  
  bencodec.decode( 'd3:bar4:spam3:fooi42ee', true );
  // { bar: 'spam', foo: 42 }
  
  bencodec.decode( Buffer.from('d3:bar4:spam3:fooi42ee'), true );
  // { bar: 'spam', foo: 42 }
Encode data

By default method encode will return the byte string.
Pass true as the second parameter to 'stringify' result.

  bencodec.encode({ bar: 'spam', foo: 42 });  
  // <Buffer 64 33 ... 65 65>
  
  bencodec.encode({ bar: 'spam', foo: 42 }, true);
  // 'd3:bar4:spam3:fooi42ee'

Tests

npm test

License

This project is licensed under the MIT License - see the LICENSE file for details.