Function: forge--ghub-massage-notification
forge--ghub-massage-notification is a byte-compiled function defined
in forge-github.el.
Signature
(forge--ghub-massage-notification DATA GITHOST)
Source Code
;; Defined in ~/.emacs.d/elpa/forge-20260408.1922/forge-github.el
(defun forge--ghub-massage-notification (data githost)
(let-alist data
(let* ((type (intern (downcase .subject.type)))
(type (if (eq type 'pullrequest) 'pullreq type))
(_ (unless (memq type '( discussion issue pullreq
commit release))
(error "BUG: New unsupported notification type: %s" type)))
(number-or-commit (and .subject.url
(string-match "[^/]*\\'" .subject.url)
(match-string 0 .subject.url)))
(number (and (memq type '(discussion issue pullreq))
(string-to-number number-or-commit)))
(repo (forge-get-repository
(list githost
.repository.owner.login
.repository.name)
nil :insert!))
(repoid (oref repo id))
(owner (oref repo owner))
(name (oref repo name))
(id (forge--object-id repoid (string-to-number .id)))
(alias (intern (concat "_" (string-replace "=" "_" id)))))
(and number
(list alias id
`((,alias repository)
[(name ,name)
(owner ,owner)]
,@(cddr
(caddr
(ghub--graphql-prepare-query
forge--github-repository-query
(pcase type
('discussion `(repository
discussions
(discussion . ,number)))
('issue `(repository
issues
(issue . ,number)))
('pullreq `(repository
pullRequest
(pullRequest . ,number))))))))
repo type data)))))