aboutsummaryrefslogtreecommitdiff
path: root/docs/bqn.js
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2021-11-24 20:53:03 -0500
committerMarshall Lochbaum <mwlochbaum@gmail.com>2021-11-24 20:53:03 -0500
commitc8824614a71effdd985f4047c794049d17363fff (patch)
treea78f9d96830ccfb32f5268f6e8210c34824d8bab /docs/bqn.js
parent82fe2e9e68f9d68694aaa3181c28ad95bf486e25 (diff)
Fix handling for some inverse header call cases
Diffstat (limited to 'docs/bqn.js')
-rw-r--r--docs/bqn.js3
1 files changed, 2 insertions, 1 deletions
diff --git a/docs/bqn.js b/docs/bqn.js
index 08868663..c5c74fcc 100644
--- a/docs/bqn.js
+++ b/docs/bqn.js
@@ -148,6 +148,7 @@ let run = (B,O,F,S,L,T,src,env) => { // Bytecode, Objects, Blocks, Bodies, Locat
vid.push(v);
return "do {"+c+"} while (0);\n"
}
+ if (ind.length===3) ind[3]=[];
let cases = ind.map((js,i) => {
let e = js.length?"No matching case":"Left argument "+(i?"not allowed":"required");
return js.map(g).concat(["throw Error('"+e+"');\n"]).join("");
@@ -161,7 +162,7 @@ let run = (B,O,F,S,L,T,src,env) => { // Bytecode, Objects, Blocks, Bodies, Locat
c = "const fn="+combine(cases)+repdf[type];
if (cases.length > 2) {
c += "fn.inverse="+combine(cases.slice(2));
- if (cases[4]) c += "fn.sinverse="+fn(cases[4]);
+ if (cases[4]) c += "fn.sinverse="+fn("if(!has(w))throw Error('No matching case');"+cases[4]);
}
c += "return fn;";
}