Move parameter guarding into its own module

This commit is contained in:
BirDt_ 2026-04-06 13:08:36 +08:00
parent 65a60a2a65
commit 71e92641f7
2 changed files with 14 additions and 7 deletions

View file

@ -3,6 +3,7 @@
(chicken base)
(chicken module)
(chicken sort)
(engine guards)
raylib
(srfi 1)
(srfi 4)
@ -399,13 +400,6 @@
;; Frame generation and game loop
(export resolve-queues next-frame *clear-color* perform-render)
;; Utility function for guarding parameter values
(define (guarded-parameter default predicate)
(make-parameter default (lambda (val)
(if (predicate val)
val
default))))
;; Resolve the entity and system queues. This is exported which allows breaking iteration
(define (resolve-queues)
(resolve-entity-queue)

13
engine/guards.scm Normal file
View file

@ -0,0 +1,13 @@
(module (engine guards) ()
(import scheme
(chicken base)
(chicken module))
;; Utility function for guarding parameter values
(export guarded-parameter)
(define (guarded-parameter default predicate)
(make-parameter default (lambda (val)
(if (predicate val)
val
default))))
)