npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@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 uma String, correspondente ao última parte do link do jogo no site da Caixa. Retorna um Map<String, Any> contendo todas as informações oferecidas pela Caixa do jogo.
    • Exemplos de Input:
      • Quina: Game.QUINA ou quina
      • Mega-Sena: Game.MEGA_SENA ou megasena
  • Converter: Conversores de Map<String, Any> para Data, 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.