Function: majutsu-row-record-module-fields

majutsu-row-record-module-fields is a natively compiled function defined in majutsu-row.el.

Signature

(majutsu-row-record-module-fields ENTRY MODULE PAYLOAD COMPILED)

Documentation

Record MODULE PAYLOAD values into ENTRY using COMPILED layout.

Source Code

;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-row.el
(defun majutsu-row-record-module-fields (entry module payload compiled)
  "Record MODULE PAYLOAD values into ENTRY using COMPILED layout."
  (let* ((profile (majutsu-row--profile compiled))
         (columns (majutsu-row-module-columns compiled module))
         (values (majutsu-row-split-module-values payload (length columns)))
         (stored nil))
    (cl-loop for column in columns
             for raw-value in values
             do (let* ((field (plist-get column :field))
                       (decoded (majutsu-row--decode-transport-value
                                 profile raw-value))
                       (base-ctx (list :field field
                                       :module module
                                       :column column
                                       :entry entry
                                       :raw-value decoded))
                       (out (majutsu-row-apply-postprocessors
                             decoded (plist-get column :post) base-ctx)))
                  (when (eq module 'metadata)
                    (setq entry (majutsu-row-record-canonical-field
                                 entry field out)))
                  (setq entry (majutsu-row-record-column-value
                               entry column out))
                  (push out stored)))
    (let ((modules (plist-get entry :modules)))
      (setf (alist-get module modules nil nil #'eq) (nreverse stored))
      (setq entry (plist-put entry :modules modules)))
    entry))