JSPM

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

Package Exports

  • torrefy

Readme

torrefy

GitHub top language npm version npm downloads GitHub search hit counter Rate this package

An ESM package that uses Web Streams API to create v1, v2 or hybrid torrents in your web browser.

πŸ—This package is under active development.πŸ—

Install

npm i torrefy # or yarn add torrefy

Basic usage

import { create, encode, decode } from "torrefy";

// create a test file
const testFile = new File(
  ["Hello world. This is the test file content."],
  "testfile.txt"
);

// calculate (hash) the meta info of the test file
const metaInfo = await create([testFile]);

// bencode meta info into a readable stream
const torrentStream = encode(metaInfo);

// tee the readable stream into two readable streams
const [torrentStream1, torrentStream2] = torrentStream.tee();

// consume the first readable stream as an array buffer
const torrentBinary = await new Response(torrentStream1).arrayBuffer();

// decode the second readable stream into meta info
const decodedMetaInfo = await decode(torrentStream2);

Features

Supports Different Web File APIs

This package can handle input files or directories acquired from File API, File and Directory Entries API or File System Access API.

TBD