From 442d5e0616b8158eae5428b022254bdcb0cdaa62 Mon Sep 17 00:00:00 2001 From: colin Date: Sun, 12 May 2024 12:30:41 -0700 Subject: Add: defendpoint parameters signal slot-required when necessary --- src/defendpoint.lisp | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) (limited to 'src/defendpoint.lisp') diff --git a/src/defendpoint.lisp b/src/defendpoint.lisp index 0ac9ec9..dd39368 100644 --- a/src/defendpoint.lisp +++ b/src/defendpoint.lisp @@ -42,11 +42,12 @@ PART is either (symbolp (first spec)) (symbolp (second spec)))) -(defun params-to-slotdefs (specs) +(defun params-to-slotdefs (endpoint specs) (loop :for (name type . doc) :in specs :collect `(,name :accessor ,name :initarg ,(a:make-keyword name) + :initform (slot-required ',endpoint ',name) :type ,type :documentation ,(or (first doc) "")))) @@ -75,7 +76,7 @@ PART is either (setf var (or var (gensym "REQ-"))) (setf metaclass (or metaclass 'endpoint)) (let* ((slot-defs - (nconc (params-to-slotdefs parameters) + (nconc (params-to-slotdefs name parameters) (props-to-slotdefs properties))) (all-slots (nconc (mapcar #'first slot-defs) @@ -130,9 +131,6 @@ PART is either (:@ supers (:? )) (:@ method ) (:@ pathspec ) - ; (:@ return (:? )) -; (:@ params (:? )) -; (:@ props (:? )) (:@ options (:*