magnet-uri
Advanced tools
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" |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
9980
110
1