Configurable suspended-for predicate.

This commit is contained in:
Dominik Pantůček 2023-05-16 20:54:02 +02:00
parent f29d303bf6
commit 2db2b5d8af

View file

@ -64,6 +64,7 @@
brmember-nick
brmember-id
brmember-suspended-months
brmember-suspended-for
brmember<?
@ -340,6 +341,18 @@
0))
0))
;; Creates configured predicate for the number of months the member
;; is suspended for.
(define (brmember-suspended-for at-least . less-thans)
(let ((less-than (if (null? less-thans)
#f
(car less-thans))))
(lambda (mr)
(let ((months (brmember-suspended-months mr)))
(and (>= months at-least)
(or (not less-than)
(< months less-than)))))))
;; Comparator of member records based on nickname.
(define (brmember<? a b)
(string-ci<? (brmember-nick a)