@megamiun/loteria
v1.0.4
Published
### O que é
Downloads
14
Readme
Loteria SDK
O que é
Uma biblioteca para extração de dados de loteria do site da Caixa.
Como utilizar
Implementação Padrão
Para a configuração padrão, basta instanciar uma instância de GameFetcher
por meio da função getFetcher()
.
Com esta você é capaz de pedir por meio da função fetch(game: Game)
os detalhes sobre a modalidade desejada, após isso.
Exemplo:
val fetcher = getFetcher()
// Pega último jogo para a modalidade
val lastGameResult = fetcher.fetch(Game.QUINA)
// Pega um sorteio especifico para a modalidade
val hundrethGameResult = fetcher.fetch(Game.QUINA, 100)
// Pega um jogo não registrado no enum de Game
val otherGameResult = fetcher.fetch("supersete", 100)
Configurações Avançadas
Para configuração avançada, é possível instanciar sua própria versão de um GameFetcher
, para minimizar a configuração, há diversas funções para criação de objetos padrão.
Mesmo assim, caso desejado, é possível instanciar os itens manualmente chamando seus construtores. A relação das responsabilidades é:
- Extractor: Extrator do site da Caixa de informações sobre os jogos. Recebe tanto o Enum de
Game
ou umaString
, correspondente ao última parte do link do jogo no site da Caixa. Retorna umMap<String, Any>
contendo todas as informações oferecidas pela Caixa do jogo.- Exemplos de Input:
- Quina:
Game.QUINA
ouquina
- Mega-Sena:
Game.MEGA_SENA
oumegasena
- Quina:
- Exemplos de Input:
- Converter: Conversores de
Map<String, Any>
paraData
, os dados do jogo esperado. Existe um para cada tipo de jogo. - GameFetcher: Classe central, que executa todo o fluxo de aquisição e conversão dos dados da Caixa.
Adição de Novos Conversores
Para adicionar um novo conversor, é possível buscar os conversores padrões em getDefaultConverters()
e adicionar ao mapa os conversores desejados, relacionando como chave o nome do jogo, de acordo com como pesquisado no site da Caixa e uma nova instância do construtor.
Uma vez adicionado, esse mapa pode ser passado para getFetcher(converters: Map<String, Converter>)
para adquirir o resultado desejado.
TODO
Possibilitar chamada sem criação de corroutines.