3.3.9 • Published 3 years ago

conflux64 v3.3.9

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

Blazing Fast

  • ~100 kB import
  • Uses streams, minimizing memory overhead

Compatibility

Chrome
Safari
Edge
Firefox

Issues

Some archivers, i.e. File-roller and Ark on Linux have problems reading archives created in conflux64. Yet, the majority of tested archivers have no problems reading the archives and report no issues. Since use case scenarios for this fork were pretty limited as well as time. Therefore, I left these issues unaddressed at the moment.

Examples

Usage

Importing Conflux

Package Manager

# With Yarn
yarn add conflux64

# With NPM
npm install --save conflux64
import { Reader, Writer } from 'conflux64';

CDN

<script src="https://cdn.jsdelivr.net/npm/@transcend-io/conflux@3"></script>
const { Reader, Writer } = window.conflux;

Writing a ZIP

import { Writer } from 'conflux64';

import streamSaver from "streamsaver";

// Set up conflux
const { readable, writable } = new Writer();
const writer = writable.getWriter();

// Set up streamsaver
const fileStream = streamSaver.createWriteStream("conflux.zip");

// Add a file
writer.write({
  name: "/cat.txt",
  lastModified: new Date(0),
  stream: () => new Response("mjau").body
});

readable.pipeTo(fileStream);

writer.close();

Incorporating other streams

import { Writer } from 'conflux64';

const { readable, writable } = new Writer();
const writer = writable.getWriter();
const reader = readable.getReader();

(async () => {
  writer.write({
    name: "/cat.txt",
    lastModified: new Date(0),
    stream: () => new Response("mjau").body
  });

  const imgStream = await fetch(
    "https://s3-us-west-2.amazonaws.com/bencmbrook/Earth.jpg"
  ).then(r => r.body);

  writer.write({
    name: "/Earth.jpg",
    lastModified: new Date(0),
    stream: () => imgStream
  });

  readable.pipeTo(fileStream);

  writer.close();
})();

Reading ZIP files

import { Reader } from 'conflux64';

fetch("https://cdn.jsdelivr.net/gh/Stuk/jszip/test/ref/deflate.zip").then(
  async res => {
    const zip = await res.blob();
    for await (const entry of Reader(zip)) {
      console.log(entry);
    }
  }
);

License

FOSSA Status

3.3.9

3 years ago

3.3.8

3 years ago

3.3.5

3 years ago

3.3.7

3 years ago

3.3.6

3 years ago

3.3.4

3 years ago

3.3.3

3 years ago

3.3.2

3 years ago

3.3.1

3 years ago

3.3.0

3 years ago