@svrooij/sonos
Advanced tools
Comparing version 2.5.0 to 2.5.1-beta.1
@@ -24,7 +24,7 @@ import { Track } from '../models/track'; | ||
static TrackToMetaData(track: Track | undefined, includeResource?: boolean, cdudn?: string): string; | ||
static GuessMetaDataAndTrackUri(trackUri: string, spotifyRegion?: string): { | ||
static GuessMetaDataAndTrackUri(trackUri: string, musicServiceRegion?: string): { | ||
trackUri: string; | ||
metadata: Track | string; | ||
}; | ||
static GuessTrack(trackUri: string, spotifyRegion?: string): Track | undefined; | ||
static GuessTrack(trackUri: string, musicServiceRegion?: string): Track | undefined; | ||
private static guessSpotifyMetadata; | ||
@@ -31,0 +31,0 @@ private static deezerMetadata; |
@@ -99,5 +99,5 @@ "use strict"; | ||
} | ||
static GuessMetaDataAndTrackUri(trackUri, spotifyRegion = '2311') { | ||
static GuessMetaDataAndTrackUri(trackUri, musicServiceRegion) { | ||
var _a; | ||
const metadata = MetadataHelper.GuessTrack(trackUri, spotifyRegion); | ||
const metadata = MetadataHelper.GuessTrack(trackUri, musicServiceRegion); | ||
return { | ||
@@ -108,3 +108,3 @@ trackUri: metadata === undefined || metadata.TrackUri === undefined ? trackUri : (_a = xml_helper_1.default.DecodeTrackUri(metadata.TrackUri)) !== null && _a !== void 0 ? _a : '', | ||
} | ||
static GuessTrack(trackUri, spotifyRegion = '2311') { | ||
static GuessTrack(trackUri, musicServiceRegion) { | ||
MetadataHelper.debug('Guessing metadata for %s', trackUri); | ||
@@ -183,11 +183,11 @@ let title = ''; | ||
if (appleAlbumItem) { // Apple Music Album | ||
return MetadataHelper.appleMetadata(appleAlbumItem[1], appleAlbumItem[2]); | ||
return MetadataHelper.appleMetadata(appleAlbumItem[1], appleAlbumItem[2], musicServiceRegion); | ||
} | ||
const applePlaylistItem = /x-rincon-cpcontainer:1006206c(libraryplaylist|playlist):([.\d\w]+)(?:\?|$)/.exec(trackUri); | ||
if (applePlaylistItem) { // Apple Music Playlist | ||
return MetadataHelper.appleMetadata(applePlaylistItem[1], applePlaylistItem[2]); | ||
return MetadataHelper.appleMetadata(applePlaylistItem[1], applePlaylistItem[2], musicServiceRegion); | ||
} | ||
const appleTrackItem = /x-sonos-http:(librarytrack|song):([.\d\w]+)\.mp4\?.*sid=204/.exec(trackUri); | ||
if (appleTrackItem) { // Apple Music Track | ||
return MetadataHelper.appleMetadata(appleTrackItem[1], appleTrackItem[2]); | ||
return MetadataHelper.appleMetadata(appleTrackItem[1], appleTrackItem[2], musicServiceRegion); | ||
} | ||
@@ -197,3 +197,3 @@ if (trackUri.startsWith('x-rincon-cpcontainer:10fe206ctracks-artist-')) { // Deezer Artists Top Tracks | ||
if (numbers && numbers.length >= 3) { | ||
return MetadataHelper.deezerMetadata('artistTopTracks', numbers[2]); | ||
return MetadataHelper.deezerMetadata('artistTopTracks', numbers[2], musicServiceRegion); | ||
} | ||
@@ -204,3 +204,3 @@ } | ||
if (numbers && numbers.length >= 3) { | ||
return MetadataHelper.deezerMetadata('playlist', numbers[2]); | ||
return MetadataHelper.deezerMetadata('playlist', numbers[2], musicServiceRegion); | ||
} | ||
@@ -211,3 +211,3 @@ } | ||
if (numbers && numbers.length >= 2) { | ||
return MetadataHelper.deezerMetadata('track', numbers[1]); | ||
return MetadataHelper.deezerMetadata('track', numbers[1], musicServiceRegion); | ||
} | ||
@@ -217,9 +217,9 @@ } | ||
if ((parts.length === 3 || parts.length === 5) && parts[0] === 'spotify') { | ||
return MetadataHelper.guessSpotifyMetadata(trackUri, parts[1], spotifyRegion); | ||
return MetadataHelper.guessSpotifyMetadata(trackUri, parts[1], musicServiceRegion); | ||
} | ||
if (parts.length === 3 && parts[0] === 'deezer') { | ||
return MetadataHelper.deezerMetadata(parts[1], parts[2]); | ||
return MetadataHelper.deezerMetadata(parts[1], parts[2], musicServiceRegion); | ||
} | ||
if (parts.length === 3 && parts[0] === 'apple') { | ||
return MetadataHelper.appleMetadata(parts[1], parts[2]); | ||
return MetadataHelper.appleMetadata(parts[1], parts[2], musicServiceRegion); | ||
} | ||
@@ -237,3 +237,5 @@ if (parts.length === 2 && parts[0] === 'radio' && parts[1].startsWith('s')) { | ||
} | ||
static guessSpotifyMetadata(trackUri, kind, region) { | ||
static guessSpotifyMetadata(trackUri, kind, spotifyRegion) { | ||
var _a; | ||
const region = (_a = spotifyRegion !== null && spotifyRegion !== void 0 ? spotifyRegion : process.env.SONOS_REGION_SPOTIFY) !== null && _a !== void 0 ? _a : '2311'; | ||
const spotifyUri = trackUri.replace(/:/g, '%3a'); | ||
@@ -288,3 +290,5 @@ const track = { | ||
} | ||
static deezerMetadata(kind, id, region = '519') { | ||
static deezerMetadata(kind, id, deezerRegion) { | ||
var _a; | ||
const region = (_a = deezerRegion !== null && deezerRegion !== void 0 ? deezerRegion : process.env.SONOS_REGION_DEEZER) !== null && _a !== void 0 ? _a : '519'; | ||
const track = { | ||
@@ -319,3 +323,5 @@ CdUdn: `SA_RINCON${region}_X_#Svc${region}-0-Token`, | ||
} | ||
static appleMetadata(kind, id, region = '52231') { | ||
static appleMetadata(kind, id, appleRegion) { | ||
var _a; | ||
const region = (_a = appleRegion !== null && appleRegion !== void 0 ? appleRegion : process.env.SONOS_REGION_APPLE) !== null && _a !== void 0 ? _a : '52231'; | ||
const track = { | ||
@@ -322,0 +328,0 @@ Title: '', |
{ | ||
"name": "@svrooij/sonos", | ||
"version": "2.5.0", | ||
"version": "2.5.1-beta.1", | ||
"description": "A node library to control your sonos devices, written in typescript", | ||
@@ -5,0 +5,0 @@ "main": "lib/index.js", |
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 3 instances in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
466355
10941
1
15