rocksky/library

Ergonomic wrappers for the authenticated app.rocksky.library.* API (uploaded music). Build a client once with new (or with_base) and pass it to every call — the access token is bound in the client, not repeated:

let lib = library.new(token) library.get_genres(lib) library.get_song(lib, “{"id":""}”)

Parameters are a pre-encoded JSON string (matching this SDK’s get convention). Each call returns the raw {ok, value} | {error, message} envelope as Dynamic — decode with gleam/dynamic.

Types

An authenticated library client. Build it with new.

pub opaque type Library

Values

pub fn create_playlist(
  client: Library,
  params_json: String,
) -> dynamic.Dynamic

app.rocksky.library.createPlaylist. params_json is a pre-encoded JSON object of the parameters.

pub fn delete_album(
  client: Library,
  params_json: String,
) -> dynamic.Dynamic

app.rocksky.library.deleteAlbum. params_json is a pre-encoded JSON object of the parameters.

pub fn delete_playlist(
  client: Library,
  params_json: String,
) -> dynamic.Dynamic

app.rocksky.library.deletePlaylist. params_json is a pre-encoded JSON object of the parameters.

pub fn delete_song(
  client: Library,
  params_json: String,
) -> dynamic.Dynamic

app.rocksky.library.deleteSong. params_json is a pre-encoded JSON object of the parameters.

pub fn get_album(
  client: Library,
  params_json: String,
) -> dynamic.Dynamic

app.rocksky.library.getAlbum. params_json is a pre-encoded JSON object of the parameters.

pub fn get_album_info(
  client: Library,
  params_json: String,
) -> dynamic.Dynamic

app.rocksky.library.getAlbumInfo. params_json is a pre-encoded JSON object of the parameters.

pub fn get_album_list(
  client: Library,
  params_json: String,
) -> dynamic.Dynamic

app.rocksky.library.getAlbumList. params_json is a pre-encoded JSON object of the parameters.

pub fn get_artist(
  client: Library,
  params_json: String,
) -> dynamic.Dynamic

app.rocksky.library.getArtist. params_json is a pre-encoded JSON object of the parameters.

pub fn get_artist_info(
  client: Library,
  params_json: String,
) -> dynamic.Dynamic

app.rocksky.library.getArtistInfo. params_json is a pre-encoded JSON object of the parameters.

pub fn get_artists(client: Library) -> dynamic.Dynamic

app.rocksky.library.getArtists.

pub fn get_cover_art_url(
  client: Library,
  params_json: String,
) -> dynamic.Dynamic

app.rocksky.library.getCoverArtUrl. params_json is a pre-encoded JSON object of the parameters.

pub fn get_download_url(
  client: Library,
  params_json: String,
) -> dynamic.Dynamic

app.rocksky.library.getDownloadUrl. params_json is a pre-encoded JSON object of the parameters.

pub fn get_genres(client: Library) -> dynamic.Dynamic

app.rocksky.library.getGenres.

pub fn get_indexes(client: Library) -> dynamic.Dynamic

app.rocksky.library.getIndexes.

pub fn get_internet_radio_stations(
  client: Library,
) -> dynamic.Dynamic

app.rocksky.library.getInternetRadioStations.

pub fn get_license(client: Library) -> dynamic.Dynamic

app.rocksky.library.getLicense.

pub fn get_lyrics(
  client: Library,
  params_json: String,
) -> dynamic.Dynamic

app.rocksky.library.getLyrics. params_json is a pre-encoded JSON object of the parameters.

pub fn get_music_directory(
  client: Library,
  params_json: String,
) -> dynamic.Dynamic

app.rocksky.library.getMusicDirectory. params_json is a pre-encoded JSON object of the parameters.

pub fn get_music_folders(client: Library) -> dynamic.Dynamic

app.rocksky.library.getMusicFolders.

pub fn get_now_playing(client: Library) -> dynamic.Dynamic

app.rocksky.library.getNowPlaying.

pub fn get_play_queue(client: Library) -> dynamic.Dynamic

app.rocksky.library.getPlayQueue.

pub fn get_playlist(
  client: Library,
  params_json: String,
) -> dynamic.Dynamic

app.rocksky.library.getPlaylist. params_json is a pre-encoded JSON object of the parameters.

pub fn get_playlists(client: Library) -> dynamic.Dynamic

app.rocksky.library.getPlaylists.

pub fn get_random_songs(
  client: Library,
  params_json: String,
) -> dynamic.Dynamic

app.rocksky.library.getRandomSongs. params_json is a pre-encoded JSON object of the parameters.

pub fn get_scan_status(client: Library) -> dynamic.Dynamic

app.rocksky.library.getScanStatus.

pub fn get_similar_songs(
  client: Library,
  params_json: String,
) -> dynamic.Dynamic

app.rocksky.library.getSimilarSongs. params_json is a pre-encoded JSON object of the parameters.

pub fn get_song(
  client: Library,
  params_json: String,
) -> dynamic.Dynamic

app.rocksky.library.getSong. params_json is a pre-encoded JSON object of the parameters.

pub fn get_songs_by_genre(
  client: Library,
  params_json: String,
) -> dynamic.Dynamic

app.rocksky.library.getSongsByGenre. params_json is a pre-encoded JSON object of the parameters.

pub fn get_starred(client: Library) -> dynamic.Dynamic

app.rocksky.library.getStarred.

pub fn get_stream_url(
  client: Library,
  params_json: String,
) -> dynamic.Dynamic

app.rocksky.library.getStreamUrl. params_json is a pre-encoded JSON object of the parameters.

pub fn get_top_songs(
  client: Library,
  params_json: String,
) -> dynamic.Dynamic

app.rocksky.library.getTopSongs. params_json is a pre-encoded JSON object of the parameters.

pub fn get_user(client: Library) -> dynamic.Dynamic

app.rocksky.library.getUser.

pub fn library_get(
  client: Library,
  nsid: String,
  params_json: String,
) -> dynamic.Dynamic

Escape hatch — any authenticated library query by nsid (pre-encoded params).

pub fn library_post(
  client: Library,
  nsid: String,
  body_json: String,
) -> dynamic.Dynamic

Escape hatch — any authenticated library procedure by nsid (pre-encoded body).

pub fn new(token: String) -> Library

Bind a (required, non-empty) access token; uses the default AppView URL.

pub fn ping(client: Library) -> dynamic.Dynamic

app.rocksky.library.ping.

pub fn save_play_queue(
  client: Library,
  params_json: String,
) -> dynamic.Dynamic

app.rocksky.library.savePlayQueue. params_json is a pre-encoded JSON object of the parameters.

pub fn scrobble(
  client: Library,
  params_json: String,
) -> dynamic.Dynamic

app.rocksky.library.scrobble. params_json is a pre-encoded JSON object of the parameters.

pub fn search(
  client: Library,
  params_json: String,
) -> dynamic.Dynamic

app.rocksky.library.search. params_json is a pre-encoded JSON object of the parameters.

pub fn star(
  client: Library,
  params_json: String,
) -> dynamic.Dynamic

app.rocksky.library.star. params_json is a pre-encoded JSON object of the parameters.

pub fn start_scan(client: Library) -> dynamic.Dynamic

app.rocksky.library.startScan.

pub fn unstar(
  client: Library,
  params_json: String,
) -> dynamic.Dynamic

app.rocksky.library.unstar. params_json is a pre-encoded JSON object of the parameters.

pub fn update_now_playing(
  client: Library,
  params_json: String,
) -> dynamic.Dynamic

app.rocksky.library.updateNowPlaying. params_json is a pre-encoded JSON object of the parameters.

pub fn update_playlist(
  client: Library,
  params_json: String,
) -> dynamic.Dynamic

app.rocksky.library.updatePlaylist. params_json is a pre-encoded JSON object of the parameters.

pub fn with_base(token: String, base: String) -> Library

Bind a token and override the AppView base URL.

Search Document