Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bye bye xtend #1491

Merged
merged 1 commit into from Aug 29, 2018
Merged
Changes from all commits
Commits
File filter...
Filter file types
Jump to…
Jump to file or symbol
Failed to load files and symbols.

Always

Just for now

bye bye xtend

  • Loading branch information
jimmywarting committed Aug 29, 2018
commit 87930170c178bafef993af33a628b7a3861941fe
@@ -6,8 +6,6 @@ const ChunkStoreWriteStream = require('chunk-store-stream/write')
const debug = require('debug')('webtorrent:torrent')
const Discovery = require('torrent-discovery')
const EventEmitter = require('events').EventEmitter
const extend = require('xtend')
const extendMutable = require('xtend/mutable')
const fs = require('fs')
const FSChunkStore = require('fs-chunk-store') // browser: `memory-chunk-store`
const get = require('simple-get')
@@ -271,7 +269,7 @@ class Torrent extends EventEmitter {
uniq(parsedTorrent.announce)
uniq(parsedTorrent.urlList)

extendMutable(this, parsedTorrent)
Object.assign(this, parsedTorrent)

this.magnetURI = parseTorrent.toMagnetURI(parsedTorrent)
this.torrentFile = parseTorrent.toTorrentFile(parsedTorrent)
@@ -282,19 +280,19 @@ class Torrent extends EventEmitter {

let trackerOpts = this.client.tracker
if (trackerOpts) {
trackerOpts = extend(this.client.tracker, {
trackerOpts = Object.assign({}, this.client.tracker, {
getAnnounceOpts: () => {
const opts = {
uploaded: this.uploaded,
downloaded: this.downloaded,
left: Math.max(this.length - this.downloaded, 0)
}
if (this.client.tracker.getAnnounceOpts) {
extendMutable(opts, this.client.tracker.getAnnounceOpts())
Object.assign(opts, this.client.tracker.getAnnounceOpts())
}
if (this._getAnnounceOpts) {
// TODO: consider deprecating this, as it's redundant with the former case
extendMutable(opts, this._getAnnounceOpts())
Object.assign(opts, this._getAnnounceOpts())
}
return opts
}
@@ -65,8 +65,7 @@
"uniq": "^1.0.1",
"unordered-array-remove": "^1.0.2",
"ut_metadata": "^3.0.8",
"ut_pex": "^1.1.1",
"xtend": "^4.0.1"
"ut_pex": "^1.1.1"
},
"devDependencies": {
"airtap": "0.1.0",
@@ -1,4 +1,3 @@
var extend = require('xtend')
var fixtures = require('webtorrent-fixtures')
var test = require('tape')
var WebTorrent = require('../')
@@ -61,10 +60,10 @@ test('client.add: duplicate trackers (including in .torrent file), multiple torr
}

// Include the duplicate trackers in the .torrent files
var parsedTorrentLeaves = extend(fixtures.leaves.parsedTorrent)
var parsedTorrentLeaves = Object.assign({}, fixtures.leaves.parsedTorrent)
parsedTorrentLeaves.announce = [ 'wss://example.com', 'wss://example.com', 'wss://example.com' ]

var parsedTorrentAlice = extend(fixtures.alice.parsedTorrent)
var parsedTorrentAlice = Object.assign({}, fixtures.alice.parsedTorrent)
parsedTorrentAlice.announce = [ 'wss://example.com', 'wss://example.com', 'wss://example.com' ]

var client = new WebTorrent({ dht: false, tracker: false })
@@ -1,5 +1,4 @@
var Buffer = require('safe-buffer').Buffer
var extend = require('xtend')
var fixtures = require('webtorrent-fixtures')
var test = require('tape')
var WebTorrent = require('../')
@@ -122,7 +121,7 @@ test('client.add: parsed torrent, with string type announce property', function
client.on('error', function (err) { t.fail(err) })
client.on('warning', function (err) { t.fail(err) })

var parsedTorrent = extend(fixtures.leaves.parsedTorrent)
var parsedTorrent = Object.assign({}, fixtures.leaves.parsedTorrent)
parsedTorrent.announce = 'http://tracker.local:80'

var torrent = client.add(parsedTorrent)
@@ -153,7 +152,7 @@ test('client.add: parsed torrent, with array type announce property', function (
client.on('error', function (err) { t.fail(err) })
client.on('warning', function (err) { t.fail(err) })

var parsedTorrent = extend(fixtures.leaves.parsedTorrent)
var parsedTorrent = Object.assign({}, fixtures.leaves.parsedTorrent)
parsedTorrent.announce = [ 'http://tracker.local:80', 'http://tracker.local:81' ]

var torrent = client.add(parsedTorrent)
@@ -1,4 +1,3 @@
var extend = require('xtend')
var fixtures = require('webtorrent-fixtures')
var series = require('run-series')
var test = require('tape')
@@ -8,7 +7,7 @@ var WebTorrent = require('../../')
test('blocklist blocks peers discovered via tracker', function (t) {
t.plan(9)

var parsedTorrent = extend(fixtures.leaves.parsedTorrent)
var parsedTorrent = Object.assign({}, fixtures.leaves.parsedTorrent)
var tracker, client1, client2

series([
@@ -1,4 +1,3 @@
var extend = require('xtend')
var fixtures = require('webtorrent-fixtures')
var fs = require('fs')
var MemoryChunkStore = require('memory-chunk-store')
@@ -30,7 +29,7 @@ function magnetDownloadTest (t, serverType) {
trackerStartCount += 1
})

var parsedTorrent = extend(fixtures.leaves.parsedTorrent)
var parsedTorrent = Object.assign({}, fixtures.leaves.parsedTorrent)
var magnetURI, client1, client2

series([
@@ -1,4 +1,3 @@
var extend = require('xtend')
var fixtures = require('webtorrent-fixtures')
var fs = require('fs')
var MemoryChunkStore = require('memory-chunk-store')
@@ -19,7 +18,7 @@ function torrentDownloadTest (t, serverType) {
t.plan(9)

var trackerStartCount = 0
var parsedTorrent = extend(fixtures.leaves.parsedTorrent)
var parsedTorrent = Object.assign({}, fixtures.leaves.parsedTorrent)

var tracker = new TrackerServer(
serverType === 'udp' ? { http: false, ws: false } : { udp: false, ws: false }
@@ -1,4 +1,3 @@
var extend = require('xtend')
var finalhandler = require('finalhandler')
var fixtures = require('webtorrent-fixtures')
var http = require('http')
@@ -16,7 +15,7 @@ test('Download using webseed (via .torrent file)', function (t) {
t.plan(6)
t.timeoutAfter(WEB_SEED_TIMEOUT_MS)

var parsedTorrent = extend(fixtures.leaves.parsedTorrent)
var parsedTorrent = Object.assign({}, fixtures.leaves.parsedTorrent)

var httpServer = http.createServer(function (req, res) {
var done = finalhandler(req, res)
@@ -78,7 +77,7 @@ test('Download using webseed (via .torrent file)', function (t) {
})

test('Disable webseeds', function (t) {
var parsedTorrent = extend(fixtures.leaves.parsedTorrent)
var parsedTorrent = Object.assign({}, fixtures.leaves.parsedTorrent)

var httpServer = http.createServer(function (req, res) {
t.fail('webseed http server should not get any requests')
@@ -1,4 +1,3 @@
var extend = require('xtend')
var fixtures = require('webtorrent-fixtures')
var randombytes = require('randombytes')
var test = require('tape')
@@ -9,7 +8,7 @@ test('Rarity map usage', function (t) {
t.plan(16)

var numPieces = 4
var torrentId = extend(fixtures.numbers.parsedTorrent, {
var torrentId = Object.assign({}, fixtures.numbers.parsedTorrent, {
pieces: Array(numPieces)
})
var client = {
ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.