spotify-url-info
Advanced tools
Comparing version 3.1.10 to 3.2.0-0
@@ -5,3 +5,3 @@ { | ||
"homepage": "https://github.com/microlinkhq/spotify-url-info", | ||
"version": "3.1.10", | ||
"version": "3.2.0-0", | ||
"main": "src/index.js", | ||
@@ -16,2 +16,30 @@ "author": { | ||
"email": "josefrancisco.verdu@gmail.com" | ||
}, | ||
{ | ||
"name": "DaliborTrampota", | ||
"email": "dalibor.trampota@gmail.com" | ||
}, | ||
{ | ||
"name": "crxts", | ||
"email": "49580728+crxts@users.noreply.github.com" | ||
}, | ||
{ | ||
"name": "kaaax0815", | ||
"email": "999999bst@gmail.com" | ||
}, | ||
{ | ||
"name": "Eitho", | ||
"email": "62159998+Eithoo@users.noreply.github.com" | ||
}, | ||
{ | ||
"name": "D3SOX", | ||
"email": "d3sox@protonmail.com" | ||
}, | ||
{ | ||
"name": "kaname-png", | ||
"email": "inmortaldragonxspace@outlook.com" | ||
}, | ||
{ | ||
"name": "KeepSOBP", | ||
"email": "keepsobp@naver.com" | ||
} | ||
@@ -62,17 +90,2 @@ ], | ||
], | ||
"scripts": { | ||
"clean": "rm -rf node_modules", | ||
"contributors": "(git-authors-cli && finepack && git add package.json && git commit -m 'build: contributors' --no-verify) || true", | ||
"coverage": "nyc report --reporter=text-lcov | npx coveralls", | ||
"lint": "standard-markdown README.md && standard", | ||
"postrelease": "npm run release:tags && npm run release:github && (ci-publish || npm publish --access=public)", | ||
"prerelease": "npm run update:check && npm run contributors", | ||
"pretest": "npm run lint", | ||
"release": "standard-version -a", | ||
"release:github": "conventional-github-releaser -p angular", | ||
"release:tags": "git push --follow-tags origin HEAD:master", | ||
"test": "c8 ava", | ||
"update": "ncu -u", | ||
"update:check": "ncu -- --error-level 2" | ||
}, | ||
"license": "MIT", | ||
@@ -102,3 +115,18 @@ "ava": { | ||
}, | ||
"types": "src/index.d.ts" | ||
} | ||
"types": "src/index.d.ts", | ||
"scripts": { | ||
"clean": "rm -rf node_modules", | ||
"contributors": "(npx git-authors-cli && npx finepack && git add package.json && git commit -m 'build: contributors' --no-verify) || true", | ||
"coverage": "nyc report --reporter=text-lcov | npx coveralls", | ||
"lint": "standard-markdown README.md && standard", | ||
"postrelease": "npm run release:tags && npm run release:github && (ci-publish || npm publish --access=public)", | ||
"prerelease": "npm run update:check", | ||
"pretest": "npm run lint", | ||
"release": "standard-version -a", | ||
"release:github": "conventional-github-releaser -p angular", | ||
"release:tags": "git push --follow-tags origin HEAD:master", | ||
"test": "c8 ava", | ||
"update": "ncu -u", | ||
"update:check": "ncu -- --error-level 2" | ||
} | ||
} |
@@ -78,22 +78,8 @@ 'use strict' | ||
function getImages (data) { | ||
switch (data.type) { | ||
case TYPE.TRACK: | ||
case TYPE.EPISODE: | ||
return data.coverArt.sources | ||
default: | ||
return data.images | ||
} | ||
} | ||
const getImages = data => data.coverArt?.sources || data.images | ||
function getDate (data) { | ||
switch (data.type) { | ||
case TYPE.TRACK: | ||
case TYPE.EPISODE: | ||
return data.releaseDate.isoString | ||
default: | ||
return data.release_date | ||
} | ||
} | ||
const getDate = data => data.releaseDate?.isoString || data.release_date | ||
const getLink = data => spotifyURI.formatOpenURL(data.uri) | ||
function getArtistTrack (track) { | ||
@@ -115,13 +101,4 @@ return track.show | ||
function getLink (data) { | ||
switch (data.type) { | ||
case TYPE.EPISODE: | ||
return spotifyURI.formatOpenURL(data.uri) | ||
default: | ||
return data.external_urls.spotify | ||
} | ||
} | ||
function getPreview (data) { | ||
const track = getFirstTrack(data) | ||
const track = toTrack(data.trackList ? data.trackList[0] : data) | ||
const date = getDate(data) | ||
@@ -134,7 +111,6 @@ | ||
track: track.name, | ||
description: data.description || track.description, | ||
artist: getArtistTrack(track) || track.artist, | ||
description: data.description || data.subtitle || track.description, | ||
artist: track.artist, | ||
image: getImages(data).reduce((a, b) => (a.width > b.width ? a : b)).url, | ||
audio: | ||
track.audio_preview_url || track.audioPreview?.url || track.preview_url, | ||
audio: track.previewUrl, | ||
link: getLink(data), | ||
@@ -145,37 +121,12 @@ embed: `https://embed.spotify.com/?uri=${data.uri}` | ||
function getTracks (data) { | ||
switch (data.type) { | ||
case TYPE.PLAYLIST: | ||
return data.tracks.items.map(({ track }) => track) | ||
case TYPE.ARTIST: | ||
return data.tracks | ||
case TYPE.ALBUM: | ||
return data.tracks.items | ||
default: | ||
return [data] | ||
} | ||
} | ||
const toTrack = track => ({ | ||
artist: getArtistTrack(track) || track.subtitle, | ||
duration: track.duration, | ||
name: track.title, | ||
previewUrl: track.isPlayable ? track.audioPreview.url : undefined, | ||
uri: track.uri | ||
}) | ||
function getFirstTrack (data) { | ||
switch (data.type) { | ||
case TYPE.TRACK: | ||
return data | ||
case TYPE.PLAYLIST: | ||
return data.tracks.items[0].track | ||
case TYPE.ALBUM: | ||
return data.tracks.items[0] | ||
case TYPE.ARTIST: | ||
return data.tracks[0] | ||
case TYPE.EPISODE: { | ||
const { subtitle, audioPreview } = data | ||
const [artist, description] = data.subtitle.split(' - ') | ||
return { | ||
artist, | ||
description, | ||
name: subtitle, | ||
preview_url: audioPreview.url | ||
} | ||
} | ||
} | ||
} | ||
const getTracks = data => | ||
data.trackList ? data.trackList.map(toTrack) : [toTrack(data)] | ||
@@ -193,5 +144,3 @@ function normalizeData ({ data }) { | ||
if (data.type === TYPE.TRACK) { | ||
data.external_urls = { spotify: spotifyURI.formatOpenURL(data.uri) } | ||
} | ||
data.type = data.uri.split(':')[1] | ||
@@ -198,0 +147,0 @@ return data |
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
13068
176
1