Skip to content

refactor(utils): decompõe cascata de paginação - #338

Draft
bdcdo wants to merge 3 commits into
mainfrom
refactor/utils-pagination
Draft

refactor(utils): decompõe cascata de paginação#338
bdcdo wants to merge 3 commits into
mainfrom
refactor/utils-pagination

Conversation

@bdcdo

@bdcdo bdcdo commented Jul 15, 2026

Copy link
Copy Markdown
Collaborator

Resumo

  • Mantém a cascata de zero, seletores, regex e fallback numérico de extract_count_with_cascade.
  • Preserva a ordem dos candidatos, o primeiro match para agregadores diferentes de max e o maior valor quando aggregate="max".
  • Mantém os sete tribunais consumidores cobertos por testes offline.

Simplificação da revisão

  • Remove _extract_from_findall_match, que duplicava a leitura de grupos de _extract_from_match apenas para adaptar uma tupla.
  • _extract_max passa a usar finditer e o extrator canônico de match; não há duas representações intermediárias do mesmo resultado.
  • Remove o teste e o cast de um agregador impossível pelo contrato Literal["first", "max"].
  • O follow-up reduz o diff em 21 linhas líquidas.

Complexidade

  • Maior CCN tocado: 6; maior complexidade cognitiva tocada: 11.
  • Nenhuma função alterada excede o limite 15.

Validação

  • Teste focado de paginação: 22 testes passaram.
  • Sete consumidores: 154 testes passaram.
  • uv run pytest: 1.753 testes passaram, 32 foram ignorados e 220 ficaram desmarcados.
  • Pre-commit completo nos arquivos alterados, Lizard, Complexipy, ratchet e git diff --check: passaram.

Refs #307

@bdcdo bdcdo left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Revisão pré-merge concluída no commit 6eaa3b6.

  • _extract_max reutiliza _extract_from_match via finditer; o adaptador duplicado deixou de existir.
  • Removi o cast e o teste de agregador impossível pelo Literal, reduzindo o follow-up em 21 linhas líquidas.
  • A suíte offline passou com 1.753 testes; sete consumidores, Lizard, Complexipy e pre-commit passaram.

O GitHub não reporta checks para esta branch. Mantive o PR em draft e não fiz merge.

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.

1 participant