Skip to content

feat: expande biblioteca tempo com 6 novas funções - #198

Merged
lucaspompeun merged 1 commit into
eguadev:mainfrom
samuel-c-santos:feat/expansao-tempo
Aug 29, 2026
Merged

lucaspompeun merged 1 commit into
eguadev:mainfrom
samuel-c-santos:feat/expansao-tempo

Conversation

@samuel-c-santos

Copy link
Copy Markdown
Contributor

Expansão da Biblioteca Tempo

Adiciona 6 novas funções à biblioteca tempo:

Funções

  • tempo.dia() — dia do mês (1-31)
  • tempo.mes() — mês (1-12)
  • tempo.ano() — ano completo
  • tempo.dia_da_semana() — nome do dia em português (domingo, segunda-feira, etc.)
  • tempo.formate_data(data, formato) — formatação customizada (ex: "DD/MM/AAAA")
  • tempo.diferenca(data1, data2) — diferença em dias entre duas datas
  • tempo.pausa(milissegundos) — sleep/delay para scripts

Detalhes

  • Todas seguem o padrão ES6 com validação via RuntimeError
  • Nomes em snake_case com acentuação portuguesa
  • Compatível com Node.js e navegador (usa apenas Date)
  • Testes adicionados em tests/tests.egua

Relacionado ao ROADMAP de contribuição (Fase 2.3)

@netlify

netlify Bot commented Aug 26, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for idegua ready!

Name Link
🔨 Latest commit bd1938d
🔍 Latest deploy log https://app.netlify.com/projects/idegua/deploys/6a92166b19cbe90008f1e5d6
😎 Deploy Preview https://deploy-preview-198--idegua.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify

netlify Bot commented Aug 26, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for egua canceled.

Name Link
🔨 Latest commit bd1938d
🔍 Latest deploy log https://app.netlify.com/projects/egua/deploys/6a92166b469c7e0008232810

@lucaspompeun

Copy link
Copy Markdown
Member

@samuel-c-santos este PR já tem a expansão da biblioteca matemática junto com a expansão do tempo, portanto pode fechar o outro PR e separar a biblioteca de arquivos desse para que eu possa aprovar.

Comment thread src/lib/arquivos.js Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adicionar em um PR a parte

Comment thread src/lib/importStdlib.js

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adicionar em um PR a parte

Comment thread tests/tests.egua Outdated
Comment on lines +1701 to +1767
escreva("----------------------------");

escreva("--------------------------------");
escreva("Testes Internos - Biblioteca Arquivos");
escreva("--------------------------------");
escreva("|");

var arq = importar("arquivos");
var erros_arq = 0;

função testa_arquivos_existe() {
se (arq.existe("package.json") != verdadeiro) {
escreva("TESTE: arquivos.existe('package.json'): falhou!");
erros_arq = erros_arq + 1;
retorna;
}
se (arq.existe("arquivo_inexistente.txt") != falso) {
escreva("TESTE: arquivos.existe('arquivo_inexistente.txt'): falhou!");
erros_arq = erros_arq + 1;
retorna;
}
escreva("TESTE: arquivos.existe(): passou!");
}

função testa_arquivos_salvar_leia_remova() {
arq.salvar("teste_temporario.txt", "conteudo de teste");
se (arq.existe("teste_temporario.txt") != verdadeiro) {
escreva("TESTE: arquivos.salvar(): falhou ao criar arquivo!");
erros_arq = erros_arq + 1;
retorna;
}
var conteudo = arq.leia("teste_temporario.txt");
se (conteudo != "conteudo de teste") {
escreva("TESTE: arquivos.leia(): falhou!");
erros_arq = erros_arq + 1;
retorna;
}
arq.remova("teste_temporario.txt");
se (arq.existe("teste_temporario.txt") != falso) {
escreva("TESTE: arquivos.remova(): falhou!");
erros_arq = erros_arq + 1;
retorna;
}
escreva("TESTE: arquivos.salvar/leia/remova(): passou!");
}

função testa_arquivos_listar() {
var itens = arq.listar(".");
se (itens == nulo) {
escreva("TESTE: arquivos.listar(): falhou!");
erros_arq = erros_arq + 1;
retorna;
}
se (tamanho(itens) == 0) {
escreva("TESTE: arquivos.listar(): falhou!");
erros_arq = erros_arq + 1;
retorna;
}
escreva("TESTE: arquivos.listar(): passou!");
}

testa_arquivos_existe();
testa_arquivos_salvar_leia_remova();
testa_arquivos_listar();

escreva("----------------------------");
escreva(" terminado com " + texto(erros_arq) + " erro(s)!");

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adicionar em um PR a parte

- tempo.dia() - dia do mês (1-31)
- tempo.mes() - mês (1-12)
- tempo.ano() - ano completo
- tempo.dia_da_semana() - nome do dia em pt-BR
- tempo.formate_data(data, formato) - formatação customizada
- tempo.diferenca(data1, data2) - diferença em dias entre datas
- tempo.pausa(milissegundos) - sleep/delay para scripts

Todas seguem padrão ES6 com validação RuntimeError.
Testes adicionados em tests/tests.egua.
@samuel-c-santos

Copy link
Copy Markdown
Contributor Author

@lucaspompeun Este PR contém apenas a expansão da biblioteca tempo (6 funções). A expansão matemática está no PR #197.

PRs organizados:

@lucaspompeun
lucaspompeun merged commit bc450f7 into eguadev:main Aug 29, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants