Function: ghub--graphql-retrieve

ghub--graphql-retrieve is a byte-compiled function defined in ghub-graphql.el.

Signature

(ghub--graphql-retrieve REQ &optional LINEAGE CURSOR)

Source Code

;; Defined in ~/.emacs.d/elpa/ghub-20260401.1239/ghub-graphql.el
(cl-defun ghub--graphql-retrieve (req &optional lineage cursor)
  (let ((p (cl-incf (ghub--graphql-req-pages req))))
    (when (> p 1)
      (when ghub-graphql-message-progress
        (let ((message-log-max nil))
          (message "Fetching page %s..." p)))
      (ghub--graphql-set-mode-line req "Fetching page %s" p)))
  (setf (ghub--graphql-req-query-str req)
        (gsexp-encode
         (ghub--graphql-prepare-query
          (ghub--graphql-req-query req)
          lineage cursor)))
  (when ghub-debug
    (with-current-buffer (get-buffer-create " *gsexp-encode*")
      (erase-buffer)
      (insert (ghub--graphql-req-query-str req) "\n\n")
      (when-let ((payload (ghub--graphql-req-variables req)))
        (let ((pos (point)))
          (insert (ghub--encode-payload payload) "\n")
          (ignore-errors (json-pretty-print pos (point)))))))
  (ghub--retrieve
   (ghub--encode-payload
    `((query . ,(ghub--graphql-req-query-str req))
      ,@(and-let* ((variables (ghub--graphql-req-variables req)))
          `((variables . ,variables)))))
   req)
  (ghub--req-value req))