Update to jstemplate.git commit b6f0914 and businessdataflow.git commit da162ca
authorNick Downing <downing.nick@gmail.com>
Tue, 9 Oct 2018 01:57:30 +0000 (12:57 +1100)
committerNick Downing <downing.nick@gmail.com>
Tue, 9 Oct 2018 02:01:34 +0000 (13:01 +1100)
resources.js
site.js

index d716599..4aae44e 100644 (file)
@@ -17,7 +17,7 @@ let get_js = path => build_cache_js.get(
   path,
   async result => {
     console.log('compiling', path)
-    result.value = await jstemplate(path)
+    result.value = await jstemplate(path, '_env,_out,_get')
   }
 )
 
diff --git a/site.js b/site.js
index bffd6a0..1e6f47e 100644 (file)
--- a/site.js
+++ b/site.js
@@ -152,6 +152,8 @@ let app = async (site, site_root, req, res, protocol) => {
     }
   }
   else {
+    // at this point dir_name is guaranteed to be a prefix of page
+    // (has no .pub component), though constructed in a roundabout way
     temp = page + '.pub'
     try {
       let data = await fs_readFile(site_root + temp)
@@ -183,35 +185,28 @@ let app = async (site, site_root, req, res, protocol) => {
           site: site,
           site_root: site_root
         }
-        let out = str => {buffers.push(Buffer.from(str))}
-        let req = async (str, type) => {
-          let path = (
-            str.length > 0 && str.charAt(0) === '/' ?
+        let out = text => {buffers.push(Buffer.from(text))}
+        let get = async (path, type) => {
+          path = (
+            path.length > 0 && path.charAt(0) === '/' ?
             site_root :
             site_root + dir_name + '/'
-          ) + str, result
+          ) + path
           switch (type) {
           case undefined:
-            result = /*await*/ (await resources.get_js(path))(env, out, req)
-            break
+            return /*await*/ (await resources.get_js(path))(env, out, get)
           case 'js':
-            result = /*await*/ resources.get_js(path)
-            break
+            return /*await*/ resources.get_js(path)
           case 'json':
-            result = /*await*/ resources.get_json(path)
-            break
+            return /*await*/ resources.get_json(path)
           case 'text':
-            result = /*await*/ resources.get_text(path)
-            break
+            return /*await*/ resources.get_text(path)
           case 'zet':
-            result = /*await*/ resources.get_zet(path)
-            break
-          default:
-            assert(false) 
+            return /*await*/ resources.get_zet(path)
           }
-          return result
+          assert(false)
         }
-        await req(temp)
+        await get(temp)
         let data = Buffer.concat(buffers)
         console.log(
           site,
@@ -233,7 +228,11 @@ let app = async (site, site_root, req, res, protocol) => {
     case 'css':
       temp = page + '.less'
       try {
-        let data = await resources.get_less(site_root + temp, site_root, dir_name)
+        let data = await resources.get_less(
+          site_root + temp,
+          site_root,
+          dir_name
+        )
         console.log(
           site,
           'serving',