Function: majutsu-workspace--parse-record

majutsu-workspace--parse-record is a natively compiled function defined in majutsu-workspace.el.

Signature

(majutsu-workspace--parse-record VALUES &optional PLAN)

Documentation

Parse one workspace record from VALUES using PLAN.

Return an entry plist, or nil if the record has no workspace name.

Source Code

;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-workspace.el
(defun majutsu-workspace--parse-record (values &optional plan)
  "Parse one workspace record from VALUES using PLAN.
Return an entry plist, or nil if the record has no workspace name."
  (let* ((plan (or plan (majutsu-workspace--ensure-template-plan)))
         (specs (plist-get plan :specs))
         entry)
    (cl-loop for field in (plist-get plan :fields)
             for spec in specs
             for idx from 0
             for value = (nth idx values)
             do (setq entry
                      (plist-put
                       entry
                       (majutsu-workspace--field-key field)
                       (funcall (plist-get spec :parse)
                                (if (plist-get spec :json)
                                    (majutsu-workspace--decode-json-field value)
                                  value)))))
    (when-let* ((name (plist-get entry :name)))
      (unless (string-empty-p name)
        entry))))