feat: add default return value to applicable-when

This commit is contained in:
Edward Langley
2023-07-15 10:18:21 -07:00
parent b7f020d352
commit 902adc1fe0
2 changed files with 13 additions and 5 deletions

View File

@ -115,11 +115,16 @@
(<= (length it)
len)))
(defun applicable-when (fun test)
(defun applicable-when (fun test &optional (default nil default-p))
(if default-p
(lambda (it)
(if (funcall test it)
(funcall fun it)
it)))
default))
(lambda (it)
(if (funcall test it)
(funcall fun it)
it))))
(defmacro conj (&rest fns)
(let ((dat (gensym "dat")))

View File

@ -84,6 +84,9 @@
(5am:is (equal 1
(funcall (data-lens:applicable-when '1+ (constantly nil))
1)))
(5am:is (equal "hi"
(funcall (data-lens:applicable-when '1+ (constantly nil) "hi")
1)))
(5am:is (equal 2
(funcall (data-lens:applicable-when '1+ (constantly t))
1))))