Domando eventos recorrentes do iCalendar com funções de distância

2025-04-17
Domando eventos recorrentes do iCalendar com funções de distância

O autor encontrou um desafio ao lidar com eventos recorrentes durante a implementação de uma biblioteca para processar arquivos iCalendar. O iCalendar usa regras complexas para definir eventos recorrentes, e implementações tradicionais geralmente envolvem escrever muita lógica específica para diferentes frequências e parâmetros. O autor adotou uma abordagem diferente, considerando as regras de recorrência como consultas SQL e tomando emprestado ideias de funções de distância com sinal (SDFs) em gráficos de computador, representando ocorrências de eventos usando funções de distância. Esse método decompõe regras complexas em funções de distância simples, calculando iterativamente os horários de ocorrência de eventos para evitar numerosos julgamentos condicionais, resultando em código mais limpo e fácil de manter. Embora a implementação inicial não fosse muito eficiente, o autor a otimizou para lidar com regras de recorrência complexas em milissegundos.

(pwy.io)