diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-11-24 20:53:03 -0500 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-11-24 20:53:03 -0500 |
| commit | c8824614a71effdd985f4047c794049d17363fff (patch) | |
| tree | a78f9d96830ccfb32f5268f6e8210c34824d8bab /docs/bqn.js | |
| parent | 82fe2e9e68f9d68694aaa3181c28ad95bf486e25 (diff) | |
Fix handling for some inverse header call cases
Diffstat (limited to 'docs/bqn.js')
| -rw-r--r-- | docs/bqn.js | 3 |
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;"; } |
