fix(plugin): extension hooks

This commit is contained in:
charlie
2024-08-15 09:02:51 +08:00
parent 4a0f1d7c4f
commit 136325af25
3 changed files with 17 additions and 17 deletions

View File

@@ -402,12 +402,9 @@
([type *providers] (create-local-renderer-getter type *providers false))
([type *providers many?]
(fn [key]
(when-let [key (or many? (and (seq @*providers) key (keyword key)))]
(when-let [key (and (seq @*providers) key (keyword key))]
(when-let [rs (->> @*providers
(map #(if many?
(some-> (state/get-plugin-resources-with-type % type)
(vals))
(state/get-plugin-resource % type key)))
(map (fn [pid] (state/get-plugin-resource pid type key)))
(remove nil?)
(flatten)
(seq))]
@@ -425,11 +422,13 @@
(def *extensions-enhancer-providers (atom #{}))
(def register-extensions-enhancer
;; a plugin can only register one enhancer for a type
(create-local-renderer-register
:extensions-enhancers *extensions-enhancer-providers))
(def hook-extensions-enhancer-by-key
(def hook-extensions-enhancers-by-key
;; multiple plug-ins can obtain more than one enhancer
(create-local-renderer-getter
:extensions-enhancers *extensions-enhancer-providers))
:extensions-enhancers *extensions-enhancer-providers true))
(def *route-renderer-providers (atom #{}))
(def register-route-renderer