File tree Expand file tree Collapse file tree 4 files changed +186
-178
lines changed Expand file tree Collapse file tree 4 files changed +186
-178
lines changed Original file line number Diff line number Diff line change 6
6
{:target :esm
7
7
:output-dir " public/js"
8
8
:modules {:sci {:exports {evalString lang-clojure-eval.main/eval-string
9
- context lang-clojure-eval.main/context}}}}}}
9
+ context lang-clojure-eval.main/context
10
+ isISOControl lang-clojure-eval.character/isISOControl}}}}}}
Original file line number Diff line number Diff line change
1
+ (ns lang-clojure-eval.character )
2
+
3
+ (defn isISOControl [char]
4
+ (boolean (re-seq #"[\u 0000-\u 001F\u 007F-\u 009F]" char)))
Original file line number Diff line number Diff line change 1
1
(ns lang-clojure-eval.main
2
2
(:require [sci.core :as sci]
3
3
[lang-clojure-eval.error :refer [error-handler]]
4
+ [lang-clojure-eval.character :refer [isISOControl]]
4
5
[goog.string]
5
6
[goog.string.format]
6
7
[clojure.pprint :as pprint]
9
10
(defonce context
10
11
(sci/init {:classes {'js goog/global
11
12
:allow :all }
12
- :namespaces {'clojure.core {'format goog.string/format}}}))
13
+ :namespaces {'clojure.core {'format goog.string/format}
14
+ 'lang-clojure-eval.character {'isISOControl isISOControl}}}))
13
15
14
16
(defn eval-string [source]
15
- (try (binding [*print-length* 100 ]
16
- (with-out-str (pprint/pprint (sci/eval-string* context source))))
17
- (catch :default e
18
- (with-out-str (error-handler source e)))))
17
+ (let [reqs " (require '[lang-clojure-eval.character :as Character])" ]
18
+ (try (binding [*print-length* 100 ]
19
+ (with-out-str (pprint/pprint (sci/eval-string* context (str reqs source)))))
20
+ (catch :default e
21
+ (with-out-str (error-handler source e))))))
You can’t perform that action at this time.
0 commit comments