-module(glsql@internal@token). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/glsql/internal/token.gleam"). -export([to_string/1]). -export_type([token/0, positioned/0]). -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(false). -type token() :: {word, binary()} | {quoted_ident, binary()} | {number, binary()} | {string_lit, binary()} | l_paren | r_paren | comma | semicolon | dot | l_bracket | r_bracket | {symbol, binary()}. -type positioned() :: {positioned, token(), integer(), integer()}. -file("src/glsql/internal/token.gleam", 20). ?DOC(false). -spec to_string(token()) -> binary(). to_string(Token) -> case Token of {word, W} -> W; {quoted_ident, W@1} -> <<<<"\""/utf8, W@1/binary>>/binary, "\""/utf8>>; {number, N} -> N; {string_lit, S} -> <<<<"'"/utf8, S/binary>>/binary, "'"/utf8>>; l_paren -> <<"("/utf8>>; r_paren -> <<")"/utf8>>; comma -> <<","/utf8>>; semicolon -> <<";"/utf8>>; dot -> <<"."/utf8>>; l_bracket -> <<"["/utf8>>; r_bracket -> <<"]"/utf8>>; {symbol, S@1} -> S@1 end.