host: scoped reader-feature toggle, clojure.template, java.util.Locale alias
Follow-ups for running reitit alongside default-feature libraries in one app: - __reader-features / __reader-features-set! exposed to Clojure so a namespace can load a clj-targeted lib (reitit, under :clj) WITHOUT forcing the whole process to :clj — set features, require, restore. Honeysql/selmer/ring stay on the default set they were validated under. (jolt vector args coerced to a janet array — janet map over a pvec iterates keys otherwise.) - clojure.template added to the stdlib (verbatim, pure Clojure over clojure.walk) — honeysql's :clj branch requires it. - java.util.Locale registered as a qualified alias (+ ROOT) for selmer's :clj Locale/US use.
This commit is contained in:
parent
6ab76efd19
commit
f3a9b9ab1f
4 changed files with 64 additions and 4 deletions
|
|
@ -212,3 +212,14 @@
|
|||
"(let [m (HashMap. {:a 1 :b 2})] (.get m :b))"]
|
||||
["HashMap put + size" "2"
|
||||
"(let [m (HashMap. {})] (.put m :x 1) (.put m :y 2) (.size m))"])
|
||||
|
||||
# Reader-feature toggle exposed to Clojure (scoped clj-lib loading): a
|
||||
# namespace can load a clj-targeted library under :clj without forcing the
|
||||
# whole process — set features, require, restore.
|
||||
(defspec "host-interop / reader-feature toggle"
|
||||
["features default to jolt+default" "true"
|
||||
"(contains? (set (__reader-features)) \"jolt\")"]
|
||||
["set + read back" "true"
|
||||
"(do (def prev (__reader-features)) (__reader-features-set! [\"clj\" \"jolt\" \"default\"]) (def r (contains? (set (__reader-features)) \"clj\")) (__reader-features-set! prev) r)"]
|
||||
["restore returns to default" "false"
|
||||
"(do (def prev (__reader-features)) (__reader-features-set! [\"clj\"]) (__reader-features-set! prev) (contains? (set (__reader-features)) \"clj\"))"])
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue