Function: eieio-defclass-internal@closql-object

eieio-defclass-internal@closql-object is a byte-compiled function defined in closql.el.

Signature

(eieio-defclass-internal@closql-object CNAME SUPERCLASSES SLOTS OPTIONS)

Documentation

Handle additional slot properties used by closql-object(var)/closql-object(fun) derived classes.

Source Code

;; Defined in ~/.emacs.d/elpa/closql-20260101.1828/closql.el
(define-advice eieio-defclass-internal
    (:after (cname _superclasses slots _options) closql-object)
  "Handle additional slot properties used by `closql-object' derived classes."
  (when-let* ((class (cl--find-class cname))
              (_(child-of-class-p class 'closql-object)))
    (pcase-dolist (`(,name . ,slot) slots)
      (let ((desc (cl-find name
                           (cl-coerce (eieio--class-slots class) 'list)
                           :key (lambda (elt) (aref elt 1)))))
        (dolist (prop closql--slot-properties)
          (when-let
              ((v (plist-get slot prop)))
            (setf (alist-get prop (cl--slot-descriptor-props desc)) v)))))))