forked from kubernetes-el/kubernetes-el
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathkubernetes-props.el
27 lines (20 loc) · 1.01 KB
/
kubernetes-props.el
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
;;; kubernetes-props.el --- Functions used to decouple modules for testability. -*- lexical-binding: t; -*-
;;; Commentary:
;;; Code:
(defconst kubernetes-props
'((message . message)
(update-last-error . kubernetes-state-update-last-error)
(overview-buffer-selected-p . kubernetes-utils-overview-buffer-selected-p)
(get-last-error . (lambda ()
(kubernetes-state--get (kubernetes-state) 'last-error))))
"Variable used to inject functions across modules.")
(defun kubernetes-props-update-last-error (props message command time)
(funcall (alist-get 'update-last-error props) message command time))
(defun kubernetes-props-get-last-error (props)
(funcall (alist-get 'get-last-error props)))
(defun kubernetes-props-message (props fmt-string &rest args)
(apply (alist-get 'message props) fmt-string args))
(defun kubernetes-props-overview-buffer-selected-p (props)
(funcall (alist-get 'overview-buffer-selected-p props)))
(provide 'kubernetes-props)
;;; kubernetes-props.el ends here