about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ravanan/command-line-tool.scm5
-rw-r--r--ravanan/javascript.scm8
2 files changed, 7 insertions, 6 deletions
diff --git a/ravanan/command-line-tool.scm b/ravanan/command-line-tool.scm
index bb2f1b7..8fa7d23 100644
--- a/ravanan/command-line-tool.scm
+++ b/ravanan/command-line-tool.scm
@@ -154,11 +154,6 @@ class. Else, return @code{#f}."
                                               requirements))
                                 supplementary-requirements)))
 
-(define (javascript-expression? str)
-  "Return @code{#t} if @var{str} contains a CWL javascript expression. Else, return
-@code{#f}."
-  (string-contains str "$("))
-
 (define* (coerce-expression expression #:optional context)
   "Coerce @var{expression} into a scheme JSON tree.
 
diff --git a/ravanan/javascript.scm b/ravanan/javascript.scm
index ad53820..4a7199b 100644
--- a/ravanan/javascript.scm
+++ b/ravanan/javascript.scm
@@ -37,7 +37,8 @@
   #:use-module (ravanan work command-line-tool)
   #:use-module (ravanan work ui)
   #:use-module (ravanan work utils)
-  #:export (evaluate-javascript-expression))
+  #:export (javascript-expression?
+            evaluate-javascript-expression))
 
 ;; node executable for evaluating javascript on worker nodes
 (define %worker-node
@@ -104,6 +105,11 @@
          javascript-function-body
          string-literal)))
 
+(define (javascript-expression? str)
+  "Return true value if @var{str} contains inline javascript or parameter
+references. Return @code{#f} otherwise."
+  (match-pattern javascript str))
+
 (define* (evaluate-expression-tree-1 expression-tree context expression-lib)
   "Compile javascript @var{expression-tree} to a G-expression that evaluates
 it. The returned G-expression may reference the variables @code{inputs},