Socket
Socket
Sign inDemoInstall

magnet-uri

Package Overview
Dependencies
Maintainers
8
Versions
46
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

magnet-uri - npm Package Compare versions

Comparing version 5.1.8 to 5.2.0

44

index.js

@@ -5,6 +5,6 @@ module.exports = magnetURIDecode

var base32 = require('thirty-two')
var Buffer = require('safe-buffer').Buffer
var extend = require('xtend')
var uniq = require('uniq')
const base32 = require('thirty-two')
const Buffer = require('safe-buffer').Buffer
const extend = require('xtend')
const uniq = require('uniq')

@@ -18,13 +18,13 @@ /**

function magnetURIDecode (uri) {
var result = {}
const result = {}
// Support 'magnet:' and 'stream-magnet:' uris
var data = uri.split('magnet:?')[1]
const data = uri.split('magnet:?')[1]
var params = (data && data.length >= 0)
const params = (data && data.length >= 0)
? data.split('&')
: []
params.forEach(function (param) {
var keyval = param.split('=')
params.forEach(param => {
const keyval = param.split('=')

@@ -34,4 +34,4 @@ // This keyval is invalid, skip it

var key = keyval[0]
var val = keyval[1]
const key = keyval[0]
let val = keyval[1]

@@ -58,3 +58,3 @@ // Clean up torrent name

} else {
var old = result[key]
const old = result[key]
result[key] = [old, val]

@@ -68,10 +68,10 @@ }

// Convenience properties for parity with `parse-torrent-file` module
var m
let m
if (result.xt) {
var xts = Array.isArray(result.xt) ? result.xt : [ result.xt ]
xts.forEach(function (xt) {
const xts = Array.isArray(result.xt) ? result.xt : [ result.xt ]
xts.forEach(xt => {
if ((m = xt.match(/^urn:btih:(.{40})/))) {
result.infoHash = m[1].toLowerCase()
} else if ((m = xt.match(/^urn:btih:(.{32})/))) {
var decodedStr = base32.decode(m[1])
const decodedStr = base32.decode(m[1])
result.infoHash = Buffer.from(decodedStr, 'binary').toString('hex')

@@ -119,10 +119,8 @@ }

var result = 'magnet:?'
let result = 'magnet:?'
Object.keys(obj)
.filter(function (key) {
return key.length === 2
})
.forEach(function (key, i) {
var values = Array.isArray(obj[key]) ? obj[key] : [ obj[key] ]
values.forEach(function (val, j) {
.filter(key => key.length === 2)
.forEach((key, i) => {
const values = Array.isArray(obj[key]) ? obj[key] : [ obj[key] ]
values.forEach((val, j) => {
if ((i > 0 || j > 0) && (key !== 'kt' || j === 0)) result += '&'

@@ -129,0 +127,0 @@

{
"name": "magnet-uri",
"description": "Parse a magnet URI and return an object of keys/values",
"version": "5.1.8",
"version": "5.2.0",
"author": {

@@ -20,3 +20,3 @@ "name": "WebTorrent, LLC",

"devDependencies": {
"airtap": "0.0.5",
"airtap": "0.1.0",
"standard": "*",

@@ -23,0 +23,0 @@ "tape": "^4.0.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