Socket
Socket
Sign inDemoInstall

hyperdrive

Package Overview
Dependencies
Maintainers
1
Versions
271
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

hyperdrive - npm Package Compare versions

Comparing version 2.2.2 to 3.0.0

lib/browser-storage.js

48

index.js

@@ -7,3 +7,2 @@ var constants = require('constants')

var bulk = require('bulk-write-stream')
var rabin = require('rabin')
var path = require('path')

@@ -17,3 +16,8 @@ var deltas = require('delta-list')

var events = require('events')
var storage = require('./lib/storage')
var storage
var rabin
if (process.browser) rabin = require('through2')
else rabin = require('rabin')
if (process.browser) storage = require('./lib/browser-storage')
else storage = require('./lib/storage')
var messages = require('./lib/messages')

@@ -66,3 +70,6 @@

this.entries = 0
this.metadata = {type: 'hyperdrive'}
this._first = true
if (!id) {

@@ -72,2 +79,3 @@ this.feed = this.core.add({filename: null})

this.feed = this.core.get(id)
this.feed.get(0, onmetadata)
}

@@ -81,5 +89,24 @@

if (err) return
self.entries = self.feed.blocks
self.entries = self.feed.blocks - 1
self.emit('ready')
})
function onmetadata (err, json) {
if (err) self.emit('error', err)
var doc
try {
doc = JSON.parse(json.toString())
} catch (err) {
// do nothing
}
if (!doc || doc.type !== 'hyperdrive') {
self.emit('error', new Error('feed is not a hyperdrive'))
} else {
self.metadata = doc
self.emit('metadata')
}
}
}

@@ -89,2 +116,6 @@

Archive.prototype.close = function (cb) {
this.feed.close(cb)
}
Archive.prototype.ready = function (cb) {

@@ -119,2 +150,3 @@ this.feed.ready(cb)

var dest = join(self.directory, entry.name)
if (process.browser) return cb()

@@ -156,3 +188,3 @@ fs.stat(dest, function (_, st) {

Archive.prototype.entry = function (i, cb) {
this.feed.get(i, function (err, data) {
this.feed.get(i + 1, function (err, data) {
if (err) return cb(err)

@@ -170,3 +202,3 @@ if (!data) return cb(null, null)

self.id = self.feed.id
self.entries = self.feed.blocks
self.entries = self.feed.blocks - 1
cb()

@@ -295,2 +327,8 @@ })

entry.link = link
if (self._first) {
// first block is gonna be a human readable metadata block
// this makes updating the protocol easier in the future
self.feed.append(JSON.stringify(self.metadata))
self._first = false
}
self.feed.append(messages.Entry.encode(entry), done)

@@ -297,0 +335,0 @@

3

package.json
{
"name": "hyperdrive",
"version": "2.2.2",
"version": "3.0.0",
"description": "A file sharing network based on rabin file chunking and append only feeds of data verified by merkle trees.",

@@ -28,2 +28,3 @@ "main": "index.js",

"subleveldown": "^2.1.0",
"through2": "^2.0.0",
"thunky": "^0.1.0"

@@ -30,0 +31,0 @@ },

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc