-module(rocksky@spotify).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/rocksky/spotify.gleam").
-export([get_currently_playing/0, with_actor/2, play/0, pause/0, next/0, previous/0, seek/1]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
?MODULEDOC(" `app.rocksky.spotify.*` — control the user's connected Spotify session.\n").
-file("src/rocksky/spotify.gleam", 9).
?DOC(
" `app.rocksky.spotify.getCurrentlyPlaying`. Add `with_actor` to scope to\n"
" another user.\n"
).
-spec get_currently_playing() -> rocksky:request(gleam@dynamic:dynamic_()).
get_currently_playing() ->
rocksky:'query'(
<<"app.rocksky.spotify.getCurrentlyPlaying"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_dynamic/1}
).
-file("src/rocksky/spotify.gleam", 13).
-spec with_actor(rocksky:request(IDD), binary()) -> rocksky:request(IDD).
with_actor(Req, Actor) ->
rocksky:param(Req, <<"actor"/utf8>>, Actor).
-file("src/rocksky/spotify.gleam", 18).
?DOC(" `app.rocksky.spotify.play`.\n").
-spec play() -> rocksky:request(gleam@dynamic:dynamic_()).
play() ->
rocksky:procedure(
<<"app.rocksky.spotify.play"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_dynamic/1}
).
-file("src/rocksky/spotify.gleam", 23).
?DOC(" `app.rocksky.spotify.pause`.\n").
-spec pause() -> rocksky:request(gleam@dynamic:dynamic_()).
pause() ->
rocksky:procedure(
<<"app.rocksky.spotify.pause"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_dynamic/1}
).
-file("src/rocksky/spotify.gleam", 28).
?DOC(" `app.rocksky.spotify.next`.\n").
-spec next() -> rocksky:request(gleam@dynamic:dynamic_()).
next() ->
rocksky:procedure(
<<"app.rocksky.spotify.next"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_dynamic/1}
).
-file("src/rocksky/spotify.gleam", 33).
?DOC(" `app.rocksky.spotify.previous`.\n").
-spec previous() -> rocksky:request(gleam@dynamic:dynamic_()).
previous() ->
rocksky:procedure(
<<"app.rocksky.spotify.previous"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_dynamic/1}
).
-file("src/rocksky/spotify.gleam", 38).
?DOC(" `app.rocksky.spotify.seek` — `position` is in milliseconds.\n").
-spec seek(integer()) -> rocksky:request(gleam@dynamic:dynamic_()).
seek(Position) ->
_pipe = rocksky:procedure(
<<"app.rocksky.spotify.seek"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_dynamic/1}
),
rocksky:int_param(_pipe, <<"position"/utf8>>, Position).