subscript 10.1.3 → 10.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/feature/asi.js CHANGED
@@ -1,15 +1,10 @@
1
- /**
2
- * Automatic Semicolon Insertion (ASI)
3
- *
4
- * JS-style ASI: insert virtual ; when newline precedes illegal token at statement level
5
- */
6
- import { parse } from '../parse.js';
1
+ // ASI: newline at `;` precedence level triggers nary `;`
2
+ import { parse, prec } from '../parse.js';
7
3
 
8
- const STATEMENT = 5;
4
+ // Set prec.asi before importing to customize (default: prec[';'])
5
+ const lvl = prec.asi ?? prec[';'];
9
6
 
10
- parse.asi = (token, prec, expr) => {
11
- if (prec >= STATEMENT) return; // only at statement level
12
- const next = expr(STATEMENT - .5);
13
- if (!next) return;
14
- return token?.[0] !== ';' ? [';', token, next] : (token.push(next), token);
15
- };
7
+ parse.asi = (a, p, expr, b, items) => p < lvl && (b = expr(lvl - .5)) && (
8
+ items = b?.[0] === ';' ? b.slice(1) : [b],
9
+ a?.[0] === ';' ? (a.push(...items), a) : [';', a, ...items]
10
+ );
@@ -4,12 +4,22 @@
4
4
  * [a, b, c]
5
5
  * {a: 1, b: 2}
6
6
  * {a, b} (shorthand)
7
+ *
8
+ * Block vs object detection (jessie):
9
+ * ['{}', [';', ...]] → ['{', body] block with statements
10
+ * ['{}', ['let', ...]] → ['{', body] block with declaration
11
+ * ['{}', null] → ['{}', null] empty object {}
12
+ * ['{}', 'a'] → ['{}', 'a'] object shorthand {a}
13
+ * ['{}', [':', k, v]] → ['{}', ...] object literal
7
14
  */
8
15
  import { group, binary, operator, compile } from '../parse.js';
9
16
  import { ACC } from './accessor.js';
10
17
 
11
18
  const ASSIGN = 20, TOKEN = 200;
12
19
 
20
+ // Object inner: null, string, or array starting with : , ... get set
21
+ const isObject = a => a == null || typeof a === 'string' || [':', ',', '...', 'get', 'set'].includes(a[0]);
22
+
13
23
  // [a,b,c]
14
24
  group('[]', TOKEN);
15
25
 
@@ -19,9 +29,12 @@ group('{}', TOKEN);
19
29
  // a: b (colon operator for object properties)
20
30
  binary(':', ASSIGN - 1, true);
21
31
 
22
- // Compile
32
+ // Compile - detect block vs object
23
33
  operator('{}', (a, b) => {
24
34
  if (b !== undefined) return;
35
+ // Block: not an object pattern
36
+ if (!isObject(a)) return compile(['{', a]);
37
+ // Object literal
25
38
  a = !a ? [] : a[0] !== ',' ? [a] : a.slice(1);
26
39
  const props = a.map(p => compile(typeof p === 'string' ? [':', p, p] : p));
27
40
  return ctx => {
@@ -36,5 +49,12 @@ operator('{}', (a, b) => {
36
49
  return obj;
37
50
  };
38
51
  });
52
+
53
+ // Block statement - creates scope
54
+ operator('{', body => {
55
+ body = body ? compile(body) : () => undefined;
56
+ return ctx => body(Object.create(ctx));
57
+ });
58
+
39
59
  operator(':', (a, b) => (b = compile(b), Array.isArray(a) ?
40
60
  (a = compile(a), ctx => [[a(ctx), b(ctx)]]) : ctx => [[a, b(ctx)]]));
@@ -6,6 +6,7 @@
6
6
  * Common in: JS, TS, Java, C#, Kotlin, Scala
7
7
  */
8
8
  import { binary, operator, compile } from '../../parse.js';
9
+ import { RETURN } from '../control.js';
9
10
 
10
11
  const ASSIGN = 20;
11
12
 
@@ -13,7 +14,7 @@ binary('=>', ASSIGN, true);
13
14
 
14
15
  // Compile
15
16
  operator('=>', (a, b) => {
16
- a = a[0] === '()' ? a[1] : a;
17
+ a = a?.[0] === '()' ? a[1] : a;
17
18
  a = !a ? [] : a[0] === ',' ? a.slice(1) : [a];
18
19
  let restIdx = -1, restName = null;
19
20
  if (a.length && Array.isArray(a[a.length - 1]) && a[a.length - 1][0] === '...') {
@@ -21,13 +22,17 @@ operator('=>', (a, b) => {
21
22
  restName = a[restIdx][1];
22
23
  a = a.slice(0, -1);
23
24
  }
24
- b = compile(b[0] === '{}' ? b[1] : b);
25
+ // Arrow body: {} is always block (need parens for object: ({...}))
26
+ // Block body returns undefined unless explicit return
27
+ const isBlock = b?.[0] === '{}';
28
+ b = compile(isBlock ? ['{', b[1]] : b);
25
29
  return (ctx = null) => {
26
30
  ctx = Object.create(ctx);
27
31
  return (...args) => {
28
32
  a.forEach((p, i) => ctx[p] = args[i]);
29
33
  if (restName) ctx[restName] = args.slice(restIdx);
30
- return b(ctx);
34
+ try { const r = b(ctx); return isBlock ? undefined : r; }
35
+ catch (e) { if (e?.type === RETURN) return e.value; throw e; }
31
36
  };
32
37
  };
33
38
  });
package/jessie.min.js CHANGED
@@ -1,8 +1,8 @@
1
- var u,c,m=r=>(u=0,c=r,m.newline=!1,r=a(),c[u]?v():r||""),v=(r="Unexpected token",e=u,t=c.slice(0,e).split(`
2
- `),n=t.pop(),o=c.slice(Math.max(0,e-40),e),s="\u032D",l=(c[e]||" ")+s,f=c.slice(e+1,e+20))=>{throw SyntaxError(`${r} at ${t.length+1}:${n.length+1}
3
- ${c[e-41]!==`
4
- `,""+o}${l}${f}`)},q=(r,e=u)=>(Array.isArray(r)&&(r.loc=e),r),k=(r,e=u,t)=>{for(;t=r(c.charCodeAt(u));)u+=t;return c.slice(e,u)},h=(r=1)=>c[u+=r],O=r=>u=r,a=(r=0,e)=>{let t,n,o,s,l=m.reserved,f;for(e&&m.asi&&(m.newline=!1),m.reserved=0;(t=m.space())&&(f=m.newline,1)&&t!==e&&(o=((s=C[t])&&s(n,r))??(m.asi&&n&&f&&(o=m.asi(n,r,a)))??(!n&&!m.reserved&&k(m.id)));)n=o,m.reserved=0;return m.reserved=l,e&&(t==e?u++:v("Unclosed "+String.fromCharCode(e-(e>42?2:1)))),n},d=m.space=(r,e=u)=>{for(;(r=c.charCodeAt(u))<=32;)m.asi&&r===10&&(m.newline=!0),u++;return r},Ct=m.id=r=>r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122||r==36||r==95||r>=192&&r!=215&&r!=247,I=(r,e=r.length)=>c.substr(u,e)===r&&!m.id(c.charCodeAt(u+e)),N=()=>(h(),a(0,41)),C=[],E=(r,e=32,t,n=r.charCodeAt(0),o=r.length,s=C[n],l=r.toUpperCase()!==r,f,y)=>C[n]=(g,S,P,T=u)=>(f=P,(P?r==P:(o<2||r.charCodeAt(1)===c.charCodeAt(u+1)&&(o<3||c.substr(u,o)==r))&&(!l||!m.id(c.charCodeAt(u+o)))&&(f=P=r))&&S<e&&(u+=o,(y=t(g))?q(y,T):(u=T,f=0,l&&y!==!1&&(m.reserved=1),!l&&!s&&v()),y)||s?.(g,S,f)),A=(r,e,t=!1)=>E(r,e,(n,o)=>n&&(o=a(e-(t?.5:0)))&&[r,n,o]),R=(r,e,t)=>E(r,e,n=>t?n&&[r,n]:!n&&(n=a(e-.5))&&[r,n]),$=(r,e)=>E(r,200,t=>!t&&[,e]),fr=(r,e,t)=>{E(r,e,(n,o)=>(o=a(e-(t?.5:0)),n?.[0]!==r&&(n=[r,n||null]),o?.[0]===r?n.push(...o.slice(1)):n.push(o||null),n))},H=(r,e)=>E(r[0],e,t=>!t&&[r,a(0,r.charCodeAt(1))||null]),ur=(r,e)=>E(r[0],e,t=>t&&[r,t,a(0,r.charCodeAt(1))||null]),lr={},p=(r,e,t=lr[r])=>lr[r]=(...n)=>e(...n)||t?.(...n),i=r=>Array.isArray(r)?r[0]==null?(e=>()=>e)(r[1]):lr[r[0]]?.(...r.slice(1))??v(`Unknown operator: ${r[0]}`,r?.loc):r===void 0?()=>{}:e=>e?.[r];var b=46,j=48,rr=57,ue=69,me=101,ce=43,de=45,x=95,ae=110,Ae=97,he=102,ye=65,ge=70,Rr=r=>r.indexOf("_")<0?r:r.replaceAll("_",""),mr=r=>{let e=Rr(k(t=>t===b&&c.charCodeAt(u+1)!==b||t>=j&&t<=rr||t===x||((t===ue||t===me)&&((t=c.charCodeAt(u+1))>=j&&t<=rr||t===ce||t===de)?2:0)));return c.charCodeAt(u)===ae?(h(),[,BigInt(e)]):(r=+e)!=r?v():[,r]},Ee={2:r=>r===48||r===49||r===x,8:r=>r>=48&&r<=55||r===x,16:r=>r>=j&&r<=rr||r>=Ae&&r<=he||r>=ye&&r<=ge||r===x};m.number=null;C[b]=r=>!r&&c.charCodeAt(u+1)!==b&&mr();for(let r=j;r<=rr;r++)C[r]=e=>e?void 0:mr();C[j]=r=>{if(r)return;let e=m.number;if(e){for(let[t,n]of Object.entries(e))if(t[0]==="0"&&c[u+1]?.toLowerCase()===t[1])return h(2),[,parseInt(Rr(k(Ee[n])),n)]}return mr()};var we=92,Nr=34,_r=39,Ce={n:`
5
- `,r:"\r",t:" ",b:"\b",f:"\f",v:"\v"},Or=r=>(e,t,n="")=>{if(!(e||!m.string?.[String.fromCharCode(r)]))return h(),k(o=>o-r&&(o===we?(n+=Ce[c[u+1]]||c[u+1],2):(n+=c[u],1))),c[u]===String.fromCharCode(r)?h():v("Bad string"),[,n]};C[Nr]=Or(Nr);C[_r]=Or(_r);m.string={'"':!0};var Se=20;"= += -= *= /= %= |= &= ^= >>= <<=".split(" ").map(r=>A(r,Se,!0));var Mr=(r,e,t,n)=>typeof r=="string"?o=>e(o,r,o):r[0]==="."?(t=i(r[1]),n=r[2],o=>e(t(o),n,o)):r[0]==="[]"&&r.length===3?(t=i(r[1]),n=i(r[2]),o=>e(t(o),n(o),o)):r[0]==="()"&&r.length===2?Mr(r[1],e):(()=>{throw Error("Invalid assignment target")})(),Pr={"=":(r,e,t)=>r[e]=t,"+=":(r,e,t)=>r[e]+=t,"-=":(r,e,t)=>r[e]-=t,"*=":(r,e,t)=>r[e]*=t,"/=":(r,e,t)=>r[e]/=t,"%=":(r,e,t)=>r[e]%=t,"|=":(r,e,t)=>r[e]|=t,"&=":(r,e,t)=>r[e]&=t,"^=":(r,e,t)=>r[e]^=t,">>=":(r,e,t)=>r[e]>>=t,"<<=":(r,e,t)=>r[e]<<=t};for(let r in Pr)p(r,(e,t)=>(t=i(t),Mr(e,(n,o,s)=>Pr[r](n,o,t(s)))));var ke=30,ve=40,Ur=140;A("!",Ur);R("!",Ur);A("||",ke);A("&&",ve);p("!",r=>(r=i(r),e=>!r(e)));p("||",(r,e)=>(r=i(r),e=i(e),t=>r(t)||e(t)));p("&&",(r,e)=>(r=i(r),e=i(e),t=>r(t)&&e(t)));var Te=50,Ie=60,Re=70,Lr=100,Ne=140;A("|",Te);A("&",Re);A("^",Ie);A(">>",Lr);A("<<",Lr);R("~",Ne);p("~",r=>(r=i(r),e=>~r(e)));p("|",(r,e)=>(r=i(r),e=i(e),t=>r(t)|e(t)));p("&",(r,e)=>(r=i(r),e=i(e),t=>r(t)&e(t)));p("^",(r,e)=>(r=i(r),e=i(e),t=>r(t)^e(t)));p(">>",(r,e)=>(r=i(r),e=i(e),t=>r(t)>>e(t)));p("<<",(r,e)=>(r=i(r),e=i(e),t=>r(t)<<e(t)));var er=90;A("<",er);A(">",er);A("<=",er);A(">=",er);p(">",(r,e)=>(r=i(r),e=i(e),t=>r(t)>e(t)));p("<",(r,e)=>(r=i(r),e=i(e),t=>r(t)<e(t)));p(">=",(r,e)=>(r=i(r),e=i(e),t=>r(t)>=e(t)));p("<=",(r,e)=>(r=i(r),e=i(e),t=>r(t)<=e(t)));var Fr=80;A("==",Fr);A("!=",Fr);p("==",(r,e)=>(r=i(r),e=i(e),t=>r(t)==e(t)));p("!=",(r,e)=>(r=i(r),e=i(e),t=>r(t)!=e(t)));var Gr=110,cr=120,Br=140;A("+",Gr);A("-",Gr);A("*",cr);A("/",cr);A("%",cr);R("+",Br);R("-",Br);p("+",(r,e)=>e!==void 0?(r=i(r),e=i(e),t=>r(t)+e(t)):(r=i(r),t=>+r(t)));p("-",(r,e)=>e!==void 0?(r=i(r),e=i(e),t=>r(t)-e(t)):(r=i(r),t=>-r(t)));p("*",(r,e)=>(r=i(r),e=i(e),t=>r(t)*e(t)));p("/",(r,e)=>(r=i(r),e=i(e),t=>r(t)/e(t)));p("%",(r,e)=>(r=i(r),e=i(e),t=>r(t)%e(t)));var tr=150;E("++",tr,r=>r?["++",r,null]:["++",a(tr-1)]);E("--",tr,r=>r?["--",r,null]:["--",a(tr-1)]);var dr=(r,e,t,n)=>typeof r=="string"?o=>e(o,r):r[0]==="."?(t=i(r[1]),n=r[2],o=>e(t(o),n)):r[0]==="[]"&&r.length===3?(t=i(r[1]),n=i(r[2]),o=>e(t(o),n(o))):r[0]==="()"&&r.length===2?dr(r[1],e):(()=>{throw Error("Invalid increment target")})();p("++",(r,e)=>dr(r,e===null?(t,n)=>t[n]++:(t,n)=>++t[n]));p("--",(r,e)=>dr(r,e===null?(t,n)=>t[n]--:(t,n)=>--t[n]));var _e=5,Oe=10,Pe=170;H("()",Pe);fr(",",Oe);fr(";",_e,!0);var Xr=(...r)=>(r=r.map(i),e=>{let t;for(let n of r)t=n(e);return t});p(",",Xr);p(";",Xr);var F=r=>r?.[0]==="_"&&r[1]==="_"||r==="constructor"||r==="prototype",ar=170;ur("[]",ar);A(".",ar);ur("()",ar);var nr=r=>{throw Error(r)};p("[]",(r,e)=>e===void 0?(r=r?r[0]===","?r.slice(1):[r]:[],r=r.map(t=>t==null?(()=>{}):t[0]==="..."?(t=i(t[1]),n=>t(n)):(t=i(t),n=>[t(n)])),t=>r.flatMap(n=>n(t))):(e==null&&nr("Missing index"),r=i(r),e=i(e),t=>{let n=e(t);return F(n)?void 0:r(t)[n]}));p(".",(r,e)=>(r=i(r),e=e[0]?e:e[1],F(e)?()=>{}:t=>r(t)[e]));p("()",(r,e)=>{if(e===void 0)return r==null?nr("Empty ()"):i(r);let t=o=>o?.[0]===","&&o.slice(1).some(s=>s==null||t(s));t(e)&&nr("Empty argument");let n=e?e[0]===","?(e=e.slice(1).map(i),o=>e.map(s=>s(o))):(e=i(e),o=>[e(o)]):()=>[];return Ar(r,(o,s,l)=>o[s](...n(l)))});var M=r=>typeof r=="string"||Array.isArray(r)&&(r[0]==="."||r[0]==="?."||r[0]==="[]"&&r.length===3||r[0]==="?.[]"||r[0]==="()"&&r.length===2&&M(r[1])||r[0]==="{}"),Ar=(r,e,t,n)=>r==null?nr("Empty ()"):r[0]==="()"&&r.length==2?Ar(r[1],e):typeof r=="string"?o=>e(o,r,o):r[0]==="."?(t=i(r[1]),n=r[2],o=>e(t(o),n,o)):r[0]==="?."?(t=i(r[1]),n=r[2],o=>{let s=t(o);return s==null?void 0:e(s,n,o)}):r[0]==="[]"&&r.length===3?(t=i(r[1]),n=i(r[2]),o=>e(t(o),n(o),o)):r[0]==="?.[]"?(t=i(r[1]),n=i(r[2]),o=>{let s=t(o);return s==null?void 0:e(s,n(o),o)}):(r=i(r),o=>e([r(o)],0,o)),G=Ar;var Dr=new WeakMap,Me=(r,...e)=>typeof r=="string"?i(m(r)):Dr.get(r)||Dr.set(r,Ue(r,e)).get(r),Kr=57344,Ue=(r,e)=>{let t=r.reduce((s,l,f)=>s+(f?String.fromCharCode(Kr+f-1):"")+l,""),n=m(t),o=s=>{if(typeof s=="string"&&s.length===1){let l=s.charCodeAt(0)-Kr,f;if(l>=0&&l<e.length)return f=e[l],Le(f)?f:[,f]}return Array.isArray(s)?s.map(o):s};return i(o(n))},Le=r=>typeof r=="string"||Array.isArray(r)&&(typeof r[0]=="string"||r[0]===void 0),Qr=Me;var Fe=32,Ge=m.space;m.comment??={"//":`
6
- `,"/*":"*/"};var hr;m.space=()=>{hr||(hr=Object.entries(m.comment).map(([o,s])=>[o,s,o.charCodeAt(0)]));for(var r;r=Ge();){for(var e=0,t;t=hr[e++];)if(r===t[2]&&c.substr(u,t[0].length)===t[0]){var n=u+t[0].length;if(t[1]===`
7
- `)for(;c.charCodeAt(n)>=Fe;)n++;else{for(;c[n]&&c.substr(n,t[1].length)!==t[1];)n++;c[n]&&(n+=t[1].length)}O(n),r=0;break}if(r)return r}return r};var $r=80;A("===",$r);A("!==",$r);p("===",(r,e)=>(r=i(r),e=i(e),t=>r(t)===e(t)));p("!==",(r,e)=>(r=i(r),e=i(e),t=>r(t)!==e(t)));var Be=30;A("??",Be);p("??",(r,e)=>(r=i(r),e=i(e),t=>r(t)??e(t)));var Xe=130,De=20;A("**",Xe,!0);A("**=",De,!0);p("**",(r,e)=>(r=i(r),e=i(e),t=>r(t)**e(t)));var Ke=r=>{throw Error(r)};p("**=",(r,e)=>(M(r)||Ke("Invalid assignment target"),e=i(e),G(r,(t,n,o)=>t[n]**=e(o))));var Hr=90;A("in",Hr);A("of",Hr);p("in",(r,e)=>(r=i(r),e=i(e),t=>r(t)in e(t)));var Qe=20,$e=100,He=r=>{throw Error(r)};A(">>>",$e);A(">>>=",Qe,!0);p(">>>",(r,e)=>(r=i(r),e=i(e),t=>r(t)>>>e(t)));p(">>>=",(r,e)=>(M(r)||He("Invalid assignment target"),e=i(e),G(r,(t,n,o)=>t[n]>>>=e(o))));var je=r=>r[0]?.[0]===","?r[0].slice(1):r,B=(r,e,t)=>{if(typeof r=="string"){t[r]=e;return}let[n,...o]=r,s=je(o);if(n==="{}"){let l=[];for(let f of s){if(Array.isArray(f)&&f[0]==="..."){let T={};for(let _ in e)l.includes(_)||(T[_]=e[_]);t[f[1]]=T;break}let y,g,S;typeof f=="string"?y=g=f:f[0]==="="?(typeof f[1]=="string"?y=g=f[1]:[,y,g]=f[1],S=f[2]):[,y,g]=f,l.push(y);let P=e[y];P===void 0&&S&&(P=i(S)(t)),B(g,P,t)}}else if(n==="[]"){let l=0;for(let f of s){if(f===null){l++;continue}if(Array.isArray(f)&&f[0]==="..."){t[f[1]]=e.slice(l);break}let y=f,g;Array.isArray(f)&&f[0]==="="&&([,y,g]=f);let S=e[l++];S===void 0&&g&&(S=i(g)(t)),B(y,S,t)}}};var yr=20,or=r=>{throw Error(r)};A("||=",yr,!0);A("&&=",yr,!0);A("??=",yr,!0);p("=",(r,e)=>{if(Array.isArray(r)&&(r[0]==="let"||r[0]==="const"||r[0]==="var")){let t=r[1];return e=i(e),typeof t=="string"?n=>{n[t]=e(n)}:n=>B(t,e(n),n)}return M(r)||or("Invalid assignment target"),e=i(e),G(r,(t,n,o)=>t[n]=e(o))});p("||=",(r,e)=>(M(r)||or("Invalid assignment target"),e=i(e),G(r,(t,n,o)=>t[n]||=e(o))));p("&&=",(r,e)=>(M(r)||or("Invalid assignment target"),e=i(e),G(r,(t,n,o)=>t[n]&&=e(o))));p("??=",(r,e)=>(M(r)||or("Invalid assignment target"),e=i(e),G(r,(t,n,o)=>t[n]??=e(o))));$("true",!0);$("false",!1);$("null",null);E("undefined",200,r=>!r&&[]);$("NaN",NaN);$("Infinity",1/0);var gr=20;E("?",gr,(r,e,t)=>r&&(e=a(gr-1))&&k(n=>n===58)&&(t=a(gr-1),["?",r,e,t]));p("?",(r,e,t)=>(r=i(r),e=i(e),t=i(t),n=>r(n)?e(n):t(n)));var We=20;A("=>",We,!0);p("=>",(r,e)=>{r=r[0]==="()"?r[1]:r,r=r?r[0]===","?r.slice(1):[r]:[];let t=-1,n=null;return r.length&&Array.isArray(r[r.length-1])&&r[r.length-1][0]==="..."&&(t=r.length-1,n=r[t][1],r=r.slice(0,-1)),e=i(e[0]==="{}"?e[1]:e),(o=null)=>(o=Object.create(o),(...s)=>(r.forEach((l,f)=>o[l]=s[f]),n&&(o[n]=s.slice(t)),e(o)))});var ze=140;R("...",ze);p("...",r=>(r=i(r),e=>Object.entries(r(e))));var jr=170;E("?.",jr,(r,e)=>{if(!r)return;let t=d();return t===40?(h(),["?.()",r,a(0,41)||null]):t===91?(h(),["?.[]",r,a(0,93)]):(e=a(jr),e?["?.",r,e]:void 0)});p("?.",(r,e)=>(r=i(r),F(e)?()=>{}:t=>r(t)?.[e]));p("?.[]",(r,e)=>(r=i(r),e=i(e),t=>{let n=e(t);return F(n)?void 0:r(t)?.[n]}));p("?.()",(r,e)=>{let t=e?e[0]===","?(e=e.slice(1).map(i),o=>e.map(s=>s(o))):(e=i(e),o=>[e(o)]):()=>[];if(r[0]==="?."){let o=i(r[1]),s=r[2];return F(s)?()=>{}:l=>o(l)?.[s]?.(...t(l))}if(r[0]==="?.[]"){let o=i(r[1]),s=i(r[2]);return l=>{let f=o(l),y=s(l);return F(y)?void 0:f?.[y]?.(...t(l))}}if(r[0]==="."){let o=i(r[1]),s=r[2];return F(s)?()=>{}:l=>o(l)?.[s]?.(...t(l))}if(r[0]==="[]"&&r.length===3){let o=i(r[1]),s=i(r[2]);return l=>{let f=o(l),y=s(l);return F(y)?void 0:f?.[y]?.(...t(l))}}let n=i(r);return o=>n(o)?.(...t(o))});var W=140;R("typeof",W);R("void",W);R("delete",W);E("new",W,r=>!r&&(I(".target")?(h(7),["new.target"]):["new",a(W)]));p("typeof",r=>(r=i(r),e=>typeof r(e)));p("void",r=>(r=i(r),e=>(r(e),void 0)));p("delete",r=>{if(r[0]==="."){let e=i(r[1]),t=r[2];return n=>delete e(n)[t]}if(r[0]==="[]"){let e=i(r[1]),t=i(r[2]);return n=>delete e(n)[t(n)]}return()=>!0});p("new",r=>{let e=i(r?.[0]==="()"?r[1]:r),t=r?.[0]==="()"?r[2]:null,n=t?t[0]===","?(o=>s=>o.map(l=>l(s)))(t.slice(1).map(i)):(o=>s=>[o(s)])(i(t)):()=>[];return o=>new(e(o))(...n(o))});var ir=Symbol("accessor"),Er=20,Je=40,Wr=41,zr=123,Jr=125,Vr=r=>e=>{if(e)return;d();let t=k(m.id);if(!t||(d(),c.charCodeAt(u)!==Je))return!1;h();let n=a(0,Wr);return d(),c.charCodeAt(u)!==zr?!1:(h(),[r,t,n,a(0,Jr)])};E("get",Er-1,Vr("get"));E("set",Er-1,Vr("set"));E("(",Er-1,r=>{if(!r||typeof r!="string")return;let e=a(0,Wr)||null;if(d(),c.charCodeAt(u)===zr)return h(),[":",r,["=>",["()",e],a(0,Jr)||null]]});p("get",(r,e)=>(e=e?i(e):()=>{},t=>[[ir,r,{get:function(){let n=Object.create(t||{});return n.this=this,e(n)}}]]));p("set",(r,e,t)=>(t=t?i(t):()=>{},n=>[[ir,r,{set:function(o){let s=Object.create(n||{});s.this=this,s[e]=o,t(s)}}]]));var Ve=20,Yr=200;H("[]",Yr);H("{}",Yr);A(":",Ve-1,!0);p("{}",(r,e)=>{if(e!==void 0)return;r=r?r[0]!==","?[r]:r.slice(1):[];let t=r.map(n=>i(typeof n=="string"?[":",n,n]:n));return n=>{let o={},s={};for(let l of t.flatMap(f=>f(n)))if(l[0]===ir){let[,f,y]=l;s[f]={...s[f],...y,configurable:!0,enumerable:!0}}else o[l[0]]=l[1];for(let l in s)Object.defineProperty(o,l,s[l]);return o}});p(":",(r,e)=>(e=i(e),Array.isArray(r)?(r=i(r),t=>[[r(t),e(t)]]):t=>[[r,e(t)]]));var Ye=170,sr=96,Ze=36,qe=123,xe=92,be={n:`
8
- `,r:"\r",t:" ",b:"\b",f:"\f",v:"\v"},Zr=()=>{let r=[];for(let e="",t;(t=c.charCodeAt(u))!==sr;)t?t===xe?(h(),e+=be[c[u]]||c[u],h()):t===Ze&&c.charCodeAt(u+1)===qe?(e&&r.push([,e]),e="",h(2),r.push(a(0,125))):(e+=c[u],h(),t=c.charCodeAt(u),t===sr&&e&&r.push([,e])):v("Unterminated template");return h(),r},rt=C[sr];C[sr]=(r,e)=>r&&e<Ye?m.asi&&m.newline?void 0:(h(),["``",r,...Zr()]):r?rt?.(r,e):(h(),(t=>t.length<2&&t[0]?.[0]===void 0?t[0]||[,""]:["`",...t])(Zr()));p("`",(...r)=>(r=r.map(i),e=>r.map(t=>t(e)).join("")));p("``",(r,...e)=>{r=i(r);let t=[],n=[];for(let s of e)Array.isArray(s)&&s[0]===void 0?t.push(s[1]):n.push(i(s));let o=Object.assign([...t],{raw:t});return s=>r(s)(o,...n.map(l=>l(s)))});m.string["'"]=!0;m.number={"0x":16,"0b":2,"0o":8};var wr=5,qr=123,xr=125,w=(r,e,t,n=r.charCodeAt(0),o=r.length,s=C[n],l)=>C[n]=(f,y,g,S=u)=>!f&&(g?r==g:(o<2||c.substr(u,o)==r)&&(g=r))&&y<e&&!m.id(c.charCodeAt(u+o))&&(O(u+o),(l=t())?q(l,S):(O(S),!s&&v()),l)||s?.(f,y,g),Cr=(r,e,t,n=r.charCodeAt(0),o=r.length,s=C[n],l)=>C[n]=(f,y,g,S=u)=>f&&(g?r==g:(o<2||c.substr(u,o)==r)&&(g=r))&&y<e&&!m.id(c.charCodeAt(u+o))&&(O(u+o),q(l=t(f),S),l)||s?.(f,y,g),U=()=>(d()===qr||v("Expected {"),h(),a(wr-.5,xr)||null),L=()=>d()!==qr?a(wr+.5):(h(),a(wr-.5,xr)||null);var Sr=5,et=10,tt=20,br=r=>{let e=a(et-1);return e?.[0]==="in"||e?.[0]==="of"?[e[0],[r,e[1]],e[2]]:e?.[0]===","?[r,...e.slice(1)]:[r,e]};E("let",Sr+1,r=>!r&&br("let"));E("const",Sr+1,r=>!r&&br("const"));w("var",Sr,()=>(d(),["var",a(tt)]));var re=(...r)=>(r=r.map(e=>{if(typeof e=="string")return t=>{t[e]=void 0};if(e[0]==="="){let[,t,n]=e,o=i(n);return typeof t=="string"?s=>{s[t]=o(s)}:s=>B(t,o(s),s)}return i(e)}),e=>{for(let t of r)t(e)});p("let",re);p("const",re);p("var",r=>typeof r=="string"?e=>{e[r]=void 0}:()=>{});var X=Symbol("break"),z=Symbol("continue"),D=Symbol("return");var nt=200;w("function",nt,()=>{d();let r=!1;c[u]==="*"&&(r=!0,h(),d());let e=k(m.id);return e&&d(),r?["function*",e,N()||null,U()]:["function",e,N()||null,U()]});p("function",(r,e,t)=>{t=t?i(t):()=>{};let n=e?e[0]===","?e.slice(1):[e]:[],o=null,s=-1,l=n[n.length-1];return Array.isArray(l)&&l[0]==="..."&&(s=n.length-1,o=l[1],n.length--),f=>{let y=(...g)=>{let S={};n.forEach((T,_)=>S[T]=g[_]),o&&(S[o]=g.slice(s));let P=new Proxy(S,{get:(T,_)=>_ in T?T[_]:f[_],set:(T,_,fe)=>((_ in T?T:f)[_]=fe,!0),has:(T,_)=>_ in T||_ in f});try{return t(P)}catch(T){if(T?.type===D)return T.value;throw T}};return r&&(f[r]=y),y}});p("function*",(r,e,t)=>{throw Error("Generator functions are not supported in evaluation")});var pr=140,kr=20;R("await",pr);w("yield",pr,()=>(d(),c[u]==="*"?(h(),d(),["yield*",a(kr)]):["yield",a(kr)]));w("async",pr,()=>{if(d(),I("function"))return["async",a(pr)];let r=a(kr-.5);return r&&["async",r]});p("async",r=>{let e=i(r);return t=>{let n=e(t);return async function(...o){return n(...o)}}});p("await",r=>(r=i(r),async e=>await r(e)));p("yield",r=>(r=r?i(r):null,e=>{throw{__yield__:r?r(e):void 0}}));p("yield*",r=>(r=i(r),e=>{throw{__yield_all__:r(e)}}));var vr=200,ot=140,it=90,st=Symbol("static");R("static",ot);A("instanceof",it);E("#",vr,r=>{if(r)return;let e=k(m.id);return e?"#"+e:void 0});w("class",vr,()=>{d();let r=k(m.id)||null;if(r==="extends")r=null,d();else{if(d(),!I("extends"))return["class",r,null,U()];h(7),d()}return["class",r,a(vr),U()]});var pt=r=>{throw Error(r)};p("instanceof",(r,e)=>(r=i(r),e=i(e),t=>r(t)instanceof e(t)));p("class",(r,e,t)=>(e=e?i(e):null,t=t?i(t):null,n=>{let o=e?e(n):Object,s=function(...l){if(!(this instanceof s))return pt("Class constructor must be called with new");let f=e?Reflect.construct(o,l,s):this;return s.prototype.__constructor__&&s.prototype.__constructor__.apply(f,l),f};if(Object.setPrototypeOf(s.prototype,o.prototype),Object.setPrototypeOf(s,o),t){let l=Object.create(n);l.super=o;let f=t(l),y=Array.isArray(f)&&typeof f[0]?.[0]=="string"?f:[];for(let[g,S]of y)g==="constructor"?s.prototype.__constructor__=S:s.prototype[g]=S}return r&&(n[r]=s),s}));p("static",r=>(r=i(r),e=>[[st,r(e)]]));var lt=140,Tr=47,ft=92,ut=r=>r===ft?2:r&&r!==Tr,mt=r=>r===103||r===105||r===109||r===115||r===117||r===121;E("/",lt,r=>{if(r)return;let e=c.charCodeAt(u);if(e===Tr||e===42||e===43||e===63||e===61)return;let t=k(ut);c.charCodeAt(u)===Tr||v("Unterminated regex"),h();let n=k(mt);try{new RegExp(t,n)}catch(o){v("Invalid regex: "+o.message)}return n?["//",t,n]:["//",t]});p("//",(r,e)=>{let t=new RegExp(r,e||"");return()=>t});var ct=5,dt=59,at=()=>{let r=u;return d()===dt&&h(),d(),I("else")?(h(4),!0):(O(r),!1)};w("if",ct+1,()=>{d();let r=["if",N(),L()];return at()&&r.push(L()),r});p("if",(r,e,t)=>(r=i(r),e=i(e),t=t!==void 0?i(t):null,n=>r(n)?e(n):t?.(n)));var Y=(r,e)=>{try{return{v:r(e)}}catch(t){if(t?.type===X)return{b:1};if(t?.type===z)return{c:1};if(t?.type===D)return{r:1,v:t.value};throw t}},K=5,J=125,V=59;w("while",K+1,()=>(d(),["while",N(),L()]));w("do",K+1,()=>(r=>(d(),h(5),d(),["do",r,N()]))(L()));w("for",K+1,()=>(d(),I("await")?(h(5),d(),["for await",N(),L()]):["for",N(),L()]));w("break",K+1,()=>{m.asi&&(m.newline=!1);let r=u;d();let e=c.charCodeAt(u);if(!e||e===J||e===V||m.newline)return["break"];let t=k(m.id);if(!t)return["break"];d();let n=c.charCodeAt(u);return!n||n===J||n===V||m.newline?["break",t]:(O(r),["break"])});w("continue",K+1,()=>{m.asi&&(m.newline=!1);let r=u;d();let e=c.charCodeAt(u);if(!e||e===J||e===V||m.newline)return["continue"];let t=k(m.id);if(!t)return["continue"];d();let n=c.charCodeAt(u);return!n||n===J||n===V||m.newline?["continue",t]:(O(r),["continue"])});w("return",K+1,()=>{m.asi&&(m.newline=!1),d();let r=c.charCodeAt(u);return!r||r===J||r===V||m.newline?["return"]:["return",a(K)]});p("while",(r,e)=>(r=i(r),e=i(e),t=>{let n,o;for(;r(t)&&!(n=Y(e,t)).b;){if(n.r)return n.v;n.c||(o=n.v)}return o}));p("do",(r,e)=>(r=i(r),e=i(e),t=>{let n,o;do{if((n=Y(r,t)).b)break;if(n.r)return n.v;n.c||(o=n.v)}while(e(t));return o}));p("for",(r,e)=>{if(Array.isArray(r)&&r[0]===";"){let[,t,n,o]=r;return t=t?i(t):null,n=n?i(n):()=>!0,o=o?i(o):null,e=i(e),s=>{let l,f;for(t?.(s);n(s)&&!(l=Y(e,s)).b;o?.(s)){if(l.r)return l.v;l.c||(f=l.v)}return f}}if(Array.isArray(r)&&(r[0]==="in"||r[0]==="of")){let[t,n,o]=r;if(Array.isArray(n)&&(n[0]==="let"||n[0]==="const"||n[0]==="var")&&(n=n[1]),t==="in")return ht(n,o,e);if(t==="of")return At(n,o,e)}});var At=(r,e,t)=>{e=i(e),t=i(t);let n=Array.isArray(r);return o=>{let s,l,f=n?null:o[r];for(let y of e(o)){if(n?B(r,y,o):o[r]=y,(s=Y(t,o)).b)break;if(s.r)return s.v;s.c||(l=s.v)}return n||(o[r]=f),l}},ht=(r,e,t)=>{e=i(e),t=i(t);let n=Array.isArray(r);return o=>{let s,l,f=n?null:o[r];for(let y in e(o)){if(n?B(r,y,o):o[r]=y,(s=Y(t,o)).b)break;if(s.r)return s.v;s.c||(l=s.v)}return n||(o[r]=f),l}};p("break",()=>()=>{throw{type:X}});p("continue",()=>()=>{throw{type:z}});p("return",r=>(r=r!==void 0?i(r):null,e=>{throw{type:D,value:r?.(e)}}));var Z=5;w("try",Z+1,()=>["try",U()]);Cr("catch",Z+1,r=>(d(),["catch",r,N(),U()]));Cr("finally",Z+1,r=>["finally",r,U()]);w("throw",Z+1,()=>{if(m.asi&&(m.newline=!1),d(),m.newline)throw SyntaxError("Unexpected newline after throw");return["throw",a(Z)]});p("try",r=>(r=r?i(r):null,e=>r?.(e)));p("catch",(r,e,t)=>{let n=r?.[1]?i(r[1]):null;return t=t?i(t):null,o=>{let s;try{s=n?.(o)}catch(l){if(l?.type===X||l?.type===z||l?.type===D)throw l;if(e!==null&&t){let f=e in o,y=o[e];o[e]=l;try{s=t(o)}finally{f?o[e]=y:delete o[e]}}else if(e===null)throw l}return s}});p("finally",(r,e)=>(r=r?i(r):null,e=e?i(e):null,t=>{let n;try{n=r?.(t)}finally{e?.(t)}return n}));p("throw",r=>(r=i(r),e=>{throw r(e)}));var ne=5,yt=20,ee=58,gt=59,oe=125,ie=(r,e=r.charCodeAt(0),t=C[e])=>C[e]=(n,o,s)=>I(r)&&!n&&(m.reserved=1)||t?.(n,o,s);ie("case");ie("default");var te=r=>{let e=[];for(;(r=d())!==oe&&!I("case")&&!I("default");){if(r===gt){h();continue}e.push(a(ne-.5))||v()}return e.length>1?[";",...e]:e[0]||null},Et=()=>{d()===123||v("Expected {"),h();let r=[];for(;d()!==oe;)if(I("case")){O(u+4),d();let e=a(yt-.5);d()===ee&&h(),r.push(["case",e,te()])}else I("default")?(O(u+7),d()===ee&&h(),r.push(["default",te()])):v("Expected case or default");return h(),r};w("switch",ne+1,()=>(d(),["switch",N(),...Et()]));p("switch",(r,...e)=>(r=i(r),e.length?(e=e.map(t=>[t[0]==="case"?i(t[1]):null,(t[0]==="case"?t[2]:t[1])?.[0]===";"?(t[0]==="case"?t[2]:t[1]).slice(1).map(i):(t[0]==="case"?t[2]:t[1])?[i(t[0]==="case"?t[2]:t[1])]:[]]),t=>{let n=r(t),o=!1,s;for(let[f,y]of e)if(o||f===null||f(t)===n)for(o=!0,l=0;l<y.length;l++)try{s=y[l](t)}catch(g){if(g?.type===X)return g.value??s;throw g}var l;return s}):t=>r(t)));var se=5;w("debugger",se+1,()=>["debugger"]);w("with",se+1,()=>(d(),["with",N(),L()]));var Ir=5,Q=10,pe=42,wt=C[pe];C[pe]=(r,e)=>r?wt?.(r,e):(h(),"*");E("from",Q+1,r=>r?r[0]!=="="&&r[0]!==","&&(d(),["from",r,a(Q+1)]):!1);E("as",Q+2,r=>r?(d(),["as",r,a(Q+2)]):!1);w("import",Ir,()=>I(".meta")?(h(5),["import.meta"]):["import",a(Q)]);w("export",Ir,()=>(d(),["export",a(Ir)]));w("default",Q+1,()=>d()!==58&&(d(),["default",a(Q)]));p("import",()=>()=>{});p("export",()=>()=>{});p("from",(r,e)=>()=>{});p("as",(r,e)=>()=>{});p("default",r=>i(r));var le=5;m.asi=(r,e,t)=>{if(e>=le)return;let n=t(le-.5);if(n)return r?.[0]!==";"?[";",r,n]:(r.push(n),r)};export{ur as access,A as binary,i as compile,c as cur,Qr as default,v as err,a as expr,H as group,Ct as id,u as idx,$ as literal,q as loc,C as lookup,fr as nary,k as next,p as operator,lr as operators,N as parens,m as parse,O as seek,h as skip,d as space,E as token,R as unary,I as word};
1
+ var u,m,c=r=>(u=0,m=r,c.newline=!1,r=h(),m[u]?v():r||""),v=(r="Unexpected token",e=u,t=m.slice(0,e).split(`
2
+ `),n=t.pop(),i=m.slice(Math.max(0,e-40),e),s="\u032D",l=(m[e]||" ")+s,f=m.slice(e+1,e+20))=>{throw SyntaxError(`${r} at ${t.length+1}:${n.length+1}
3
+ ${m[e-41]!==`
4
+ `,""+i}${l}${f}`)},x=(r,e=u)=>(Array.isArray(r)&&(r.loc=e),r),k=(r,e=u,t)=>{for(;t=r(m.charCodeAt(u));)u+=t;return m.slice(e,u)},a=(r=1)=>m[u+=r],_=r=>u=r,h=(r=0,e)=>{let t,n,i,s,l=c.reserved,f;for(e&&c.asi&&(c.newline=!1),c.reserved=0;(t=c.space())&&(f=c.newline,1)&&t!==e&&(i=((s=C[t])&&s(n,r))??(n&&f&&c.asi?.(n,r,h))??(!n&&!c.reserved&&k(c.id)));)n=i,c.reserved=0;return c.reserved=l,e&&(t==e?u++:v("Unclosed "+String.fromCharCode(e-(e>42?2:1)))),n},d=c.space=(r,e=u)=>{for(;(r=m.charCodeAt(u))<=32;)c.asi&&r===10&&(c.newline=!0),u++;return r},kt=c.id=r=>r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122||r==36||r==95||r>=192&&r!=215&&r!=247,I=(r,e=r.length)=>m.substr(u,e)===r&&!c.id(m.charCodeAt(u+e)),N=()=>(a(),h(0,41)),C=[],j={},E=(r,e=32,t,n=r.charCodeAt(0),i=r.length,s=C[n],l=r.toUpperCase()!==r,f,y)=>(e=j[r]=!s&&j[r]||e,C[n]=(g,S,P,T=u)=>(f=P,(P?r==P:(i<2||r.charCodeAt(1)===m.charCodeAt(u+1)&&(i<3||m.substr(u,i)==r))&&(!l||!c.id(m.charCodeAt(u+i)))&&(f=P=r))&&S<e&&(u+=i,(y=t(g))?x(y,T):(u=T,f=0,l&&y!==!1&&(c.reserved=1),!l&&!s&&v()),y)||s?.(g,S,f))),A=(r,e,t=!1)=>E(r,e,(n,i)=>n&&(i=h(e-(t?.5:0)))&&[r,n,i]),R=(r,e,t)=>E(r,e,n=>t?n&&[r,n]:!n&&(n=h(e-.5))&&[r,n]),$=(r,e)=>E(r,200,t=>!t&&[,e]),ur=(r,e,t)=>{E(r,e,(n,i)=>(i=h(e-(t?.5:0)),n?.[0]!==r&&(n=[r,n||null]),i?.[0]===r?n.push(...i.slice(1)):n.push(i||null),n))},H=(r,e)=>E(r[0],e,t=>!t&&[r,h(0,r.charCodeAt(1))||null]),cr=(r,e)=>E(r[0],e,t=>t&&[r,t,h(0,r.charCodeAt(1))||null]),fr={},p=(r,e,t=fr[r])=>fr[r]=(...n)=>e(...n)||t?.(...n),o=r=>Array.isArray(r)?r[0]==null?(e=>()=>e)(r[1]):fr[r[0]]?.(...r.slice(1))??v(`Unknown operator: ${r[0]}`,r?.loc):r===void 0?()=>{}:e=>e?.[r];var rr=46,W=48,er=57,ce=69,me=101,de=43,he=45,b=95,Ae=110,ae=97,ye=102,ge=65,Ee=70,Nr=r=>r.indexOf("_")<0?r:r.replaceAll("_",""),mr=r=>{let e=Nr(k(t=>t===rr&&m.charCodeAt(u+1)!==rr||t>=W&&t<=er||t===b||((t===ce||t===me)&&((t=m.charCodeAt(u+1))>=W&&t<=er||t===de||t===he)?2:0)));return m.charCodeAt(u)===Ae?(a(),[,BigInt(e)]):(r=+e)!=r?v():[,r]},we={2:r=>r===48||r===49||r===b,8:r=>r>=48&&r<=55||r===b,16:r=>r>=W&&r<=er||r>=ae&&r<=ye||r>=ge&&r<=Ee||r===b};c.number=null;C[rr]=r=>!r&&m.charCodeAt(u+1)!==rr&&mr();for(let r=W;r<=er;r++)C[r]=e=>e?void 0:mr();C[W]=r=>{if(r)return;let e=c.number;if(e){for(let[t,n]of Object.entries(e))if(t[0]==="0"&&m[u+1]?.toLowerCase()===t[1])return a(2),[,parseInt(Nr(k(we[n])),n)]}return mr()};var Ce=92,Or=34,_r=39,Se={n:`
5
+ `,r:"\r",t:" ",b:"\b",f:"\f",v:"\v"},Pr=r=>(e,t,n="")=>{if(!(e||!c.string?.[String.fromCharCode(r)]))return a(),k(i=>i-r&&(i===Ce?(n+=Se[m[u+1]]||m[u+1],2):(n+=m[u],1))),m[u]===String.fromCharCode(r)?a():v("Bad string"),[,n]};C[Or]=Pr(Or);C[_r]=Pr(_r);c.string={'"':!0};var ke=20;"= += -= *= /= %= |= &= ^= >>= <<=".split(" ").map(r=>A(r,ke,!0));var Ur=(r,e,t,n)=>typeof r=="string"?i=>e(i,r,i):r[0]==="."?(t=o(r[1]),n=r[2],i=>e(t(i),n,i)):r[0]==="[]"&&r.length===3?(t=o(r[1]),n=o(r[2]),i=>e(t(i),n(i),i)):r[0]==="()"&&r.length===2?Ur(r[1],e):(()=>{throw Error("Invalid assignment target")})(),Mr={"=":(r,e,t)=>r[e]=t,"+=":(r,e,t)=>r[e]+=t,"-=":(r,e,t)=>r[e]-=t,"*=":(r,e,t)=>r[e]*=t,"/=":(r,e,t)=>r[e]/=t,"%=":(r,e,t)=>r[e]%=t,"|=":(r,e,t)=>r[e]|=t,"&=":(r,e,t)=>r[e]&=t,"^=":(r,e,t)=>r[e]^=t,">>=":(r,e,t)=>r[e]>>=t,"<<=":(r,e,t)=>r[e]<<=t};for(let r in Mr)p(r,(e,t)=>(t=o(t),Ur(e,(n,i,s)=>Mr[r](n,i,t(s)))));var ve=30,Te=40,Lr=140;A("!",Lr);R("!",Lr);A("||",ve);A("&&",Te);p("!",r=>(r=o(r),e=>!r(e)));p("||",(r,e)=>(r=o(r),e=o(e),t=>r(t)||e(t)));p("&&",(r,e)=>(r=o(r),e=o(e),t=>r(t)&&e(t)));var Ie=50,Re=60,Ne=70,Fr=100,Oe=140;A("|",Ie);A("&",Ne);A("^",Re);A(">>",Fr);A("<<",Fr);R("~",Oe);p("~",r=>(r=o(r),e=>~r(e)));p("|",(r,e)=>(r=o(r),e=o(e),t=>r(t)|e(t)));p("&",(r,e)=>(r=o(r),e=o(e),t=>r(t)&e(t)));p("^",(r,e)=>(r=o(r),e=o(e),t=>r(t)^e(t)));p(">>",(r,e)=>(r=o(r),e=o(e),t=>r(t)>>e(t)));p("<<",(r,e)=>(r=o(r),e=o(e),t=>r(t)<<e(t)));var tr=90;A("<",tr);A(">",tr);A("<=",tr);A(">=",tr);p(">",(r,e)=>(r=o(r),e=o(e),t=>r(t)>e(t)));p("<",(r,e)=>(r=o(r),e=o(e),t=>r(t)<e(t)));p(">=",(r,e)=>(r=o(r),e=o(e),t=>r(t)>=e(t)));p("<=",(r,e)=>(r=o(r),e=o(e),t=>r(t)<=e(t)));var Br=80;A("==",Br);A("!=",Br);p("==",(r,e)=>(r=o(r),e=o(e),t=>r(t)==e(t)));p("!=",(r,e)=>(r=o(r),e=o(e),t=>r(t)!=e(t)));var Gr=110,dr=120,Xr=140;A("+",Gr);A("-",Gr);A("*",dr);A("/",dr);A("%",dr);R("+",Xr);R("-",Xr);p("+",(r,e)=>e!==void 0?(r=o(r),e=o(e),t=>r(t)+e(t)):(r=o(r),t=>+r(t)));p("-",(r,e)=>e!==void 0?(r=o(r),e=o(e),t=>r(t)-e(t)):(r=o(r),t=>-r(t)));p("*",(r,e)=>(r=o(r),e=o(e),t=>r(t)*e(t)));p("/",(r,e)=>(r=o(r),e=o(e),t=>r(t)/e(t)));p("%",(r,e)=>(r=o(r),e=o(e),t=>r(t)%e(t)));var nr=150;E("++",nr,r=>r?["++",r,null]:["++",h(nr-1)]);E("--",nr,r=>r?["--",r,null]:["--",h(nr-1)]);var hr=(r,e,t,n)=>typeof r=="string"?i=>e(i,r):r[0]==="."?(t=o(r[1]),n=r[2],i=>e(t(i),n)):r[0]==="[]"&&r.length===3?(t=o(r[1]),n=o(r[2]),i=>e(t(i),n(i))):r[0]==="()"&&r.length===2?hr(r[1],e):(()=>{throw Error("Invalid increment target")})();p("++",(r,e)=>hr(r,e===null?(t,n)=>t[n]++:(t,n)=>++t[n]));p("--",(r,e)=>hr(r,e===null?(t,n)=>t[n]--:(t,n)=>--t[n]));var _e=5,Pe=10,Me=170;H("()",Me);ur(",",Pe);ur(";",_e,!0);var Dr=(...r)=>(r=r.map(o),e=>{let t;for(let n of r)t=n(e);return t});p(",",Dr);p(";",Dr);var F=r=>r?.[0]==="_"&&r[1]==="_"||r==="constructor"||r==="prototype",Ar=170;cr("[]",Ar);A(".",Ar);cr("()",Ar);var or=r=>{throw Error(r)};p("[]",(r,e)=>e===void 0?(r=r?r[0]===","?r.slice(1):[r]:[],r=r.map(t=>t==null?(()=>{}):t[0]==="..."?(t=o(t[1]),n=>t(n)):(t=o(t),n=>[t(n)])),t=>r.flatMap(n=>n(t))):(e==null&&or("Missing index"),r=o(r),e=o(e),t=>{let n=e(t);return F(n)?void 0:r(t)[n]}));p(".",(r,e)=>(r=o(r),e=e[0]?e:e[1],F(e)?()=>{}:t=>r(t)[e]));p("()",(r,e)=>{if(e===void 0)return r==null?or("Empty ()"):o(r);let t=i=>i?.[0]===","&&i.slice(1).some(s=>s==null||t(s));t(e)&&or("Empty argument");let n=e?e[0]===","?(e=e.slice(1).map(o),i=>e.map(s=>s(i))):(e=o(e),i=>[e(i)]):()=>[];return ar(r,(i,s,l)=>i[s](...n(l)))});var M=r=>typeof r=="string"||Array.isArray(r)&&(r[0]==="."||r[0]==="?."||r[0]==="[]"&&r.length===3||r[0]==="?.[]"||r[0]==="()"&&r.length===2&&M(r[1])||r[0]==="{}"),ar=(r,e,t,n)=>r==null?or("Empty ()"):r[0]==="()"&&r.length==2?ar(r[1],e):typeof r=="string"?i=>e(i,r,i):r[0]==="."?(t=o(r[1]),n=r[2],i=>e(t(i),n,i)):r[0]==="?."?(t=o(r[1]),n=r[2],i=>{let s=t(i);return s==null?void 0:e(s,n,i)}):r[0]==="[]"&&r.length===3?(t=o(r[1]),n=o(r[2]),i=>e(t(i),n(i),i)):r[0]==="?.[]"?(t=o(r[1]),n=o(r[2]),i=>{let s=t(i);return s==null?void 0:e(s,n(i),i)}):(r=o(r),i=>e([r(i)],0,i)),B=ar;var Kr=new WeakMap,Ue=(r,...e)=>typeof r=="string"?o(c(r)):Kr.get(r)||Kr.set(r,Le(r,e)).get(r),Qr=57344,Le=(r,e)=>{let t=r.reduce((s,l,f)=>s+(f?String.fromCharCode(Qr+f-1):"")+l,""),n=c(t),i=s=>{if(typeof s=="string"&&s.length===1){let l=s.charCodeAt(0)-Qr,f;if(l>=0&&l<e.length)return f=e[l],Fe(f)?f:[,f]}return Array.isArray(s)?s.map(i):s};return o(i(n))},Fe=r=>typeof r=="string"||Array.isArray(r)&&(typeof r[0]=="string"||r[0]===void 0),$r=Ue;var Be=32,Ge=c.space;c.comment??={"//":`
6
+ `,"/*":"*/"};var yr;c.space=()=>{yr||(yr=Object.entries(c.comment).map(([i,s])=>[i,s,i.charCodeAt(0)]));for(var r;r=Ge();){for(var e=0,t;t=yr[e++];)if(r===t[2]&&m.substr(u,t[0].length)===t[0]){var n=u+t[0].length;if(t[1]===`
7
+ `)for(;m.charCodeAt(n)>=Be;)n++;else{for(;m[n]&&m.substr(n,t[1].length)!==t[1];)n++;m[n]&&(n+=t[1].length)}_(n),r=0;break}if(r)return r}return r};var jr=80;A("===",jr);A("!==",jr);p("===",(r,e)=>(r=o(r),e=o(e),t=>r(t)===e(t)));p("!==",(r,e)=>(r=o(r),e=o(e),t=>r(t)!==e(t)));var Xe=30;A("??",Xe);p("??",(r,e)=>(r=o(r),e=o(e),t=>r(t)??e(t)));var De=130,Ke=20;A("**",De,!0);A("**=",Ke,!0);p("**",(r,e)=>(r=o(r),e=o(e),t=>r(t)**e(t)));var Qe=r=>{throw Error(r)};p("**=",(r,e)=>(M(r)||Qe("Invalid assignment target"),e=o(e),B(r,(t,n,i)=>t[n]**=e(i))));var Hr=90;A("in",Hr);A("of",Hr);p("in",(r,e)=>(r=o(r),e=o(e),t=>r(t)in e(t)));var $e=20,je=100,He=r=>{throw Error(r)};A(">>>",je);A(">>>=",$e,!0);p(">>>",(r,e)=>(r=o(r),e=o(e),t=>r(t)>>>e(t)));p(">>>=",(r,e)=>(M(r)||He("Invalid assignment target"),e=o(e),B(r,(t,n,i)=>t[n]>>>=e(i))));var We=r=>r[0]?.[0]===","?r[0].slice(1):r,G=(r,e,t)=>{if(typeof r=="string"){t[r]=e;return}let[n,...i]=r,s=We(i);if(n==="{}"){let l=[];for(let f of s){if(Array.isArray(f)&&f[0]==="..."){let T={};for(let O in e)l.includes(O)||(T[O]=e[O]);t[f[1]]=T;break}let y,g,S;typeof f=="string"?y=g=f:f[0]==="="?(typeof f[1]=="string"?y=g=f[1]:[,y,g]=f[1],S=f[2]):[,y,g]=f,l.push(y);let P=e[y];P===void 0&&S&&(P=o(S)(t)),G(g,P,t)}}else if(n==="[]"){let l=0;for(let f of s){if(f===null){l++;continue}if(Array.isArray(f)&&f[0]==="..."){t[f[1]]=e.slice(l);break}let y=f,g;Array.isArray(f)&&f[0]==="="&&([,y,g]=f);let S=e[l++];S===void 0&&g&&(S=o(g)(t)),G(y,S,t)}}};var gr=20,ir=r=>{throw Error(r)};A("||=",gr,!0);A("&&=",gr,!0);A("??=",gr,!0);p("=",(r,e)=>{if(Array.isArray(r)&&(r[0]==="let"||r[0]==="const"||r[0]==="var")){let t=r[1];return e=o(e),typeof t=="string"?n=>{n[t]=e(n)}:n=>G(t,e(n),n)}return M(r)||ir("Invalid assignment target"),e=o(e),B(r,(t,n,i)=>t[n]=e(i))});p("||=",(r,e)=>(M(r)||ir("Invalid assignment target"),e=o(e),B(r,(t,n,i)=>t[n]||=e(i))));p("&&=",(r,e)=>(M(r)||ir("Invalid assignment target"),e=o(e),B(r,(t,n,i)=>t[n]&&=e(i))));p("??=",(r,e)=>(M(r)||ir("Invalid assignment target"),e=o(e),B(r,(t,n,i)=>t[n]??=e(i))));$("true",!0);$("false",!1);$("null",null);E("undefined",200,r=>!r&&[]);$("NaN",NaN);$("Infinity",1/0);var Er=20;E("?",Er,(r,e,t)=>r&&(e=h(Er-1))&&k(n=>n===58)&&(t=h(Er-1),["?",r,e,t]));p("?",(r,e,t)=>(r=o(r),e=o(e),t=o(t),n=>r(n)?e(n):t(n)));var D=Symbol("break"),z=Symbol("continue"),X=Symbol("return");var ze=20;A("=>",ze,!0);p("=>",(r,e)=>{r=r?.[0]==="()"?r[1]:r,r=r?r[0]===","?r.slice(1):[r]:[];let t=-1,n=null;r.length&&Array.isArray(r[r.length-1])&&r[r.length-1][0]==="..."&&(t=r.length-1,n=r[t][1],r=r.slice(0,-1));let i=e?.[0]==="{}";return e=o(i?["{",e[1]]:e),(s=null)=>(s=Object.create(s),(...l)=>{r.forEach((f,y)=>s[f]=l[y]),n&&(s[n]=l.slice(t));try{let f=e(s);return i?void 0:f}catch(f){if(f?.type===X)return f.value;throw f}})});var Je=140;R("...",Je);p("...",r=>(r=o(r),e=>Object.entries(r(e))));var Wr=170;E("?.",Wr,(r,e)=>{if(!r)return;let t=d();return t===40?(a(),["?.()",r,h(0,41)||null]):t===91?(a(),["?.[]",r,h(0,93)]):(e=h(Wr),e?["?.",r,e]:void 0)});p("?.",(r,e)=>(r=o(r),F(e)?()=>{}:t=>r(t)?.[e]));p("?.[]",(r,e)=>(r=o(r),e=o(e),t=>{let n=e(t);return F(n)?void 0:r(t)?.[n]}));p("?.()",(r,e)=>{let t=e?e[0]===","?(e=e.slice(1).map(o),i=>e.map(s=>s(i))):(e=o(e),i=>[e(i)]):()=>[];if(r[0]==="?."){let i=o(r[1]),s=r[2];return F(s)?()=>{}:l=>i(l)?.[s]?.(...t(l))}if(r[0]==="?.[]"){let i=o(r[1]),s=o(r[2]);return l=>{let f=i(l),y=s(l);return F(y)?void 0:f?.[y]?.(...t(l))}}if(r[0]==="."){let i=o(r[1]),s=r[2];return F(s)?()=>{}:l=>i(l)?.[s]?.(...t(l))}if(r[0]==="[]"&&r.length===3){let i=o(r[1]),s=o(r[2]);return l=>{let f=i(l),y=s(l);return F(y)?void 0:f?.[y]?.(...t(l))}}let n=o(r);return i=>n(i)?.(...t(i))});var J=140;R("typeof",J);R("void",J);R("delete",J);E("new",J,r=>!r&&(I(".target")?(a(7),["new.target"]):["new",h(J)]));p("typeof",r=>(r=o(r),e=>typeof r(e)));p("void",r=>(r=o(r),e=>(r(e),void 0)));p("delete",r=>{if(r[0]==="."){let e=o(r[1]),t=r[2];return n=>delete e(n)[t]}if(r[0]==="[]"){let e=o(r[1]),t=o(r[2]);return n=>delete e(n)[t(n)]}return()=>!0});p("new",r=>{let e=o(r?.[0]==="()"?r[1]:r),t=r?.[0]==="()"?r[2]:null,n=t?t[0]===","?(i=>s=>i.map(l=>l(s)))(t.slice(1).map(o)):(i=>s=>[i(s)])(o(t)):()=>[];return i=>new(e(i))(...n(i))});var sr=Symbol("accessor"),wr=20,Ve=40,zr=41,Jr=123,Vr=125,Yr=r=>e=>{if(e)return;d();let t=k(c.id);if(!t||(d(),m.charCodeAt(u)!==Ve))return!1;a();let n=h(0,zr);return d(),m.charCodeAt(u)!==Jr?!1:(a(),[r,t,n,h(0,Vr)])};E("get",wr-1,Yr("get"));E("set",wr-1,Yr("set"));E("(",wr-1,r=>{if(!r||typeof r!="string")return;let e=h(0,zr)||null;if(d(),m.charCodeAt(u)===Jr)return a(),[":",r,["=>",["()",e],h(0,Vr)||null]]});p("get",(r,e)=>(e=e?o(e):()=>{},t=>[[sr,r,{get:function(){let n=Object.create(t||{});return n.this=this,e(n)}}]]));p("set",(r,e,t)=>(t=t?o(t):()=>{},n=>[[sr,r,{set:function(i){let s=Object.create(n||{});s.this=this,s[e]=i,t(s)}}]]));var Ye=20,Zr=200,Ze=r=>r==null||typeof r=="string"||[":",",","...","get","set"].includes(r[0]);H("[]",Zr);H("{}",Zr);A(":",Ye-1,!0);p("{}",(r,e)=>{if(e!==void 0)return;if(!Ze(r))return o(["{",r]);r=r?r[0]!==","?[r]:r.slice(1):[];let t=r.map(n=>o(typeof n=="string"?[":",n,n]:n));return n=>{let i={},s={};for(let l of t.flatMap(f=>f(n)))if(l[0]===sr){let[,f,y]=l;s[f]={...s[f],...y,configurable:!0,enumerable:!0}}else i[l[0]]=l[1];for(let l in s)Object.defineProperty(i,l,s[l]);return i}});p("{",r=>(r=r?o(r):()=>{},e=>r(Object.create(e))));p(":",(r,e)=>(e=o(e),Array.isArray(r)?(r=o(r),t=>[[r(t),e(t)]]):t=>[[r,e(t)]]));var qe=170,pr=96,xe=36,be=123,rt=92,et={n:`
8
+ `,r:"\r",t:" ",b:"\b",f:"\f",v:"\v"},qr=()=>{let r=[];for(let e="",t;(t=m.charCodeAt(u))!==pr;)t?t===rt?(a(),e+=et[m[u]]||m[u],a()):t===xe&&m.charCodeAt(u+1)===be?(e&&r.push([,e]),e="",a(2),r.push(h(0,125))):(e+=m[u],a(),t=m.charCodeAt(u),t===pr&&e&&r.push([,e])):v("Unterminated template");return a(),r},tt=C[pr];C[pr]=(r,e)=>r&&e<qe?c.asi&&c.newline?void 0:(a(),["``",r,...qr()]):r?tt?.(r,e):(a(),(t=>t.length<2&&t[0]?.[0]===void 0?t[0]||[,""]:["`",...t])(qr()));p("`",(...r)=>(r=r.map(o),e=>r.map(t=>t(e)).join("")));p("``",(r,...e)=>{r=o(r);let t=[],n=[];for(let s of e)Array.isArray(s)&&s[0]===void 0?t.push(s[1]):n.push(o(s));let i=Object.assign([...t],{raw:t});return s=>r(s)(i,...n.map(l=>l(s)))});c.string["'"]=!0;c.number={"0x":16,"0b":2,"0o":8};var Cr=5,xr=123,br=125,w=(r,e,t,n=r.charCodeAt(0),i=r.length,s=C[n],l)=>C[n]=(f,y,g,S=u)=>!f&&(g?r==g:(i<2||m.substr(u,i)==r)&&(g=r))&&y<e&&!c.id(m.charCodeAt(u+i))&&(_(u+i),(l=t())?x(l,S):(_(S),!s&&v()),l)||s?.(f,y,g),Sr=(r,e,t,n=r.charCodeAt(0),i=r.length,s=C[n],l)=>C[n]=(f,y,g,S=u)=>f&&(g?r==g:(i<2||m.substr(u,i)==r)&&(g=r))&&y<e&&!c.id(m.charCodeAt(u+i))&&(_(u+i),x(l=t(f),S),l)||s?.(f,y,g),U=()=>(d()===xr||v("Expected {"),a(),h(Cr-.5,br)||null),L=()=>d()!==xr?h(Cr+.5):(a(),h(Cr-.5,br)||null);var kr=5,nt=10,ot=20,re=r=>{let e=h(nt-1);return e?.[0]==="in"||e?.[0]==="of"?[e[0],[r,e[1]],e[2]]:e?.[0]===","?[r,...e.slice(1)]:[r,e]};E("let",kr+1,r=>!r&&re("let"));E("const",kr+1,r=>!r&&re("const"));w("var",kr,()=>(d(),["var",h(ot)]));var ee=(...r)=>(r=r.map(e=>{if(typeof e=="string")return t=>{t[e]=void 0};if(e[0]==="="){let[,t,n]=e,i=o(n);return typeof t=="string"?s=>{s[t]=i(s)}:s=>G(t,i(s),s)}return o(e)}),e=>{for(let t of r)t(e)});p("let",ee);p("const",ee);p("var",r=>typeof r=="string"?e=>{e[r]=void 0}:()=>{});var it=200;w("function",it,()=>{d();let r=!1;m[u]==="*"&&(r=!0,a(),d());let e=k(c.id);return e&&d(),r?["function*",e,N()||null,U()]:["function",e,N()||null,U()]});p("function",(r,e,t)=>{t=t?o(t):()=>{};let n=e?e[0]===","?e.slice(1):[e]:[],i=null,s=-1,l=n[n.length-1];return Array.isArray(l)&&l[0]==="..."&&(s=n.length-1,i=l[1],n.length--),f=>{let y=(...g)=>{let S={};n.forEach((T,O)=>S[T]=g[O]),i&&(S[i]=g.slice(s));let P=new Proxy(S,{get:(T,O)=>O in T?T[O]:f[O],set:(T,O,ue)=>((O in T?T:f)[O]=ue,!0),has:(T,O)=>O in T||O in f});try{return t(P)}catch(T){if(T?.type===X)return T.value;throw T}};return r&&(f[r]=y),y}});p("function*",(r,e,t)=>{throw Error("Generator functions are not supported in evaluation")});var lr=140,vr=20;R("await",lr);w("yield",lr,()=>(d(),m[u]==="*"?(a(),d(),["yield*",h(vr)]):["yield",h(vr)]));w("async",lr,()=>{if(d(),I("function"))return["async",h(lr)];let r=h(vr-.5);return r&&["async",r]});p("async",r=>{let e=o(r);return t=>{let n=e(t);return async function(...i){return n(...i)}}});p("await",r=>(r=o(r),async e=>await r(e)));p("yield",r=>(r=r?o(r):null,e=>{throw{__yield__:r?r(e):void 0}}));p("yield*",r=>(r=o(r),e=>{throw{__yield_all__:r(e)}}));var Tr=200,st=140,pt=90,lt=Symbol("static");R("static",st);A("instanceof",pt);E("#",Tr,r=>{if(r)return;let e=k(c.id);return e?"#"+e:void 0});w("class",Tr,()=>{d();let r=k(c.id)||null;if(r==="extends")r=null,d();else{if(d(),!I("extends"))return["class",r,null,U()];a(7),d()}return["class",r,h(Tr),U()]});var ft=r=>{throw Error(r)};p("instanceof",(r,e)=>(r=o(r),e=o(e),t=>r(t)instanceof e(t)));p("class",(r,e,t)=>(e=e?o(e):null,t=t?o(t):null,n=>{let i=e?e(n):Object,s=function(...l){if(!(this instanceof s))return ft("Class constructor must be called with new");let f=e?Reflect.construct(i,l,s):this;return s.prototype.__constructor__&&s.prototype.__constructor__.apply(f,l),f};if(Object.setPrototypeOf(s.prototype,i.prototype),Object.setPrototypeOf(s,i),t){let l=Object.create(n);l.super=i;let f=t(l),y=Array.isArray(f)&&typeof f[0]?.[0]=="string"?f:[];for(let[g,S]of y)g==="constructor"?s.prototype.__constructor__=S:s.prototype[g]=S}return r&&(n[r]=s),s}));p("static",r=>(r=o(r),e=>[[lt,r(e)]]));var ut=140,Ir=47,ct=92,mt=r=>r===ct?2:r&&r!==Ir,dt=r=>r===103||r===105||r===109||r===115||r===117||r===121;E("/",ut,r=>{if(r)return;let e=m.charCodeAt(u);if(e===Ir||e===42||e===43||e===63||e===61)return;let t=k(mt);m.charCodeAt(u)===Ir||v("Unterminated regex"),a();let n=k(dt);try{new RegExp(t,n)}catch(i){v("Invalid regex: "+i.message)}return n?["//",t,n]:["//",t]});p("//",(r,e)=>{let t=new RegExp(r,e||"");return()=>t});var ht=5,At=59,at=()=>{let r=u;return d()===At&&a(),d(),I("else")?(a(4),!0):(_(r),!1)};w("if",ht+1,()=>{d();let r=["if",N(),L()];return at()&&r.push(L()),r});p("if",(r,e,t)=>(r=o(r),e=o(e),t=t!==void 0?o(t):null,n=>r(n)?e(n):t?.(n)));var Z=(r,e)=>{try{return{v:r(e)}}catch(t){if(t?.type===D)return{b:1};if(t?.type===z)return{c:1};if(t?.type===X)return{r:1,v:t.value};throw t}},K=5,V=125,Y=59;w("while",K+1,()=>(d(),["while",N(),L()]));w("do",K+1,()=>(r=>(d(),a(5),d(),["do",r,N()]))(L()));w("for",K+1,()=>(d(),I("await")?(a(5),d(),["for await",N(),L()]):["for",N(),L()]));w("break",K+1,()=>{c.asi&&(c.newline=!1);let r=u;d();let e=m.charCodeAt(u);if(!e||e===V||e===Y||c.newline)return["break"];let t=k(c.id);if(!t)return["break"];d();let n=m.charCodeAt(u);return!n||n===V||n===Y||c.newline?["break",t]:(_(r),["break"])});w("continue",K+1,()=>{c.asi&&(c.newline=!1);let r=u;d();let e=m.charCodeAt(u);if(!e||e===V||e===Y||c.newline)return["continue"];let t=k(c.id);if(!t)return["continue"];d();let n=m.charCodeAt(u);return!n||n===V||n===Y||c.newline?["continue",t]:(_(r),["continue"])});w("return",K+1,()=>{c.asi&&(c.newline=!1),d();let r=m.charCodeAt(u);return!r||r===V||r===Y||c.newline?["return"]:["return",h(K)]});p("while",(r,e)=>(r=o(r),e=o(e),t=>{let n,i;for(;r(t)&&!(n=Z(e,t)).b;){if(n.r)return n.v;n.c||(i=n.v)}return i}));p("do",(r,e)=>(r=o(r),e=o(e),t=>{let n,i;do{if((n=Z(r,t)).b)break;if(n.r)return n.v;n.c||(i=n.v)}while(e(t));return i}));p("for",(r,e)=>{if(Array.isArray(r)&&r[0]===";"){let[,t,n,i]=r;return t=t?o(t):null,n=n?o(n):()=>!0,i=i?o(i):null,e=o(e),s=>{let l,f;for(t?.(s);n(s)&&!(l=Z(e,s)).b;i?.(s)){if(l.r)return l.v;l.c||(f=l.v)}return f}}if(Array.isArray(r)&&(r[0]==="in"||r[0]==="of")){let[t,n,i]=r;if(Array.isArray(n)&&(n[0]==="let"||n[0]==="const"||n[0]==="var")&&(n=n[1]),t==="in")return gt(n,i,e);if(t==="of")return yt(n,i,e)}});var yt=(r,e,t)=>{e=o(e),t=o(t);let n=Array.isArray(r);return i=>{let s,l,f=n?null:i[r];for(let y of e(i)){if(n?G(r,y,i):i[r]=y,(s=Z(t,i)).b)break;if(s.r)return s.v;s.c||(l=s.v)}return n||(i[r]=f),l}},gt=(r,e,t)=>{e=o(e),t=o(t);let n=Array.isArray(r);return i=>{let s,l,f=n?null:i[r];for(let y in e(i)){if(n?G(r,y,i):i[r]=y,(s=Z(t,i)).b)break;if(s.r)return s.v;s.c||(l=s.v)}return n||(i[r]=f),l}};p("break",()=>()=>{throw{type:D}});p("continue",()=>()=>{throw{type:z}});p("return",r=>(r=r!==void 0?o(r):null,e=>{throw{type:X,value:r?.(e)}}));var q=5;w("try",q+1,()=>["try",U()]);Sr("catch",q+1,r=>(d(),["catch",r,N(),U()]));Sr("finally",q+1,r=>["finally",r,U()]);w("throw",q+1,()=>{if(c.asi&&(c.newline=!1),d(),c.newline)throw SyntaxError("Unexpected newline after throw");return["throw",h(q)]});p("try",r=>(r=r?o(r):null,e=>r?.(e)));p("catch",(r,e,t)=>{let n=r?.[1]?o(r[1]):null;return t=t?o(t):null,i=>{let s;try{s=n?.(i)}catch(l){if(l?.type===D||l?.type===z||l?.type===X)throw l;if(e!==null&&t){let f=e in i,y=i[e];i[e]=l;try{s=t(i)}finally{f?i[e]=y:delete i[e]}}else if(e===null)throw l}return s}});p("finally",(r,e)=>(r=r?o(r):null,e=e?o(e):null,t=>{let n;try{n=r?.(t)}finally{e?.(t)}return n}));p("throw",r=>(r=o(r),e=>{throw r(e)}));var oe=5,Et=20,te=58,wt=59,ie=125,se=(r,e=r.charCodeAt(0),t=C[e])=>C[e]=(n,i,s)=>I(r)&&!n&&(c.reserved=1)||t?.(n,i,s);se("case");se("default");var ne=r=>{let e=[];for(;(r=d())!==ie&&!I("case")&&!I("default");){if(r===wt){a();continue}e.push(h(oe-.5))||v()}return e.length>1?[";",...e]:e[0]||null},Ct=()=>{d()===123||v("Expected {"),a();let r=[];for(;d()!==ie;)if(I("case")){_(u+4),d();let e=h(Et-.5);d()===te&&a(),r.push(["case",e,ne()])}else I("default")?(_(u+7),d()===te&&a(),r.push(["default",ne()])):v("Expected case or default");return a(),r};w("switch",oe+1,()=>(d(),["switch",N(),...Ct()]));p("switch",(r,...e)=>(r=o(r),e.length?(e=e.map(t=>[t[0]==="case"?o(t[1]):null,(t[0]==="case"?t[2]:t[1])?.[0]===";"?(t[0]==="case"?t[2]:t[1]).slice(1).map(o):(t[0]==="case"?t[2]:t[1])?[o(t[0]==="case"?t[2]:t[1])]:[]]),t=>{let n=r(t),i=!1,s;for(let[f,y]of e)if(i||f===null||f(t)===n)for(i=!0,l=0;l<y.length;l++)try{s=y[l](t)}catch(g){if(g?.type===D)return g.value??s;throw g}var l;return s}):t=>r(t)));var pe=5;w("debugger",pe+1,()=>["debugger"]);w("with",pe+1,()=>(d(),["with",N(),L()]));var Rr=5,Q=10,le=42,St=C[le];C[le]=(r,e)=>r?St?.(r,e):(a(),"*");E("from",Q+1,r=>r?r[0]!=="="&&r[0]!==","&&(d(),["from",r,h(Q+1)]):!1);E("as",Q+2,r=>r?(d(),["as",r,h(Q+2)]):!1);w("import",Rr,()=>I(".meta")?(a(5),["import.meta"]):["import",h(Q)]);w("export",Rr,()=>(d(),["export",h(Rr)]));w("default",Q+1,()=>d()!==58&&(d(),["default",h(Q)]));p("import",()=>()=>{});p("export",()=>()=>{});p("from",(r,e)=>()=>{});p("as",(r,e)=>()=>{});p("default",r=>o(r));var fe=j.asi??j[";"];c.asi=(r,e,t,n,i)=>e<fe&&(n=t(fe-.5))&&(i=n?.[0]===";"?n.slice(1):[n],r?.[0]===";"?(r.push(...i),r):[";",r,...i]);export{cr as access,A as binary,o as compile,m as cur,$r as default,v as err,h as expr,H as group,kt as id,u as idx,$ as literal,x as loc,C as lookup,ur as nary,k as next,p as operator,fr as operators,N as parens,c as parse,j as prec,_ as seek,a as skip,d as space,E as token,R as unary,I as word};
package/justin.min.js CHANGED
@@ -1,8 +1,8 @@
1
- var u,c,d=r=>(u=0,c=r,d.newline=!1,r=A(),c[u]?v():r||""),v=(r="Unexpected token",e=u,t=c.slice(0,e).split(`
2
- `),o=t.pop(),i=c.slice(Math.max(0,e-40),e),p="\u032D",f=(c[e]||" ")+p,l=c.slice(e+1,e+20))=>{throw SyntaxError(`${r} at ${t.length+1}:${o.length+1}
1
+ var m,c,d=r=>(m=0,c=r,d.newline=!1,r=A(),c[m]?w():r||""),w=(r="Unexpected token",e=m,t=c.slice(0,e).split(`
2
+ `),o=t.pop(),i=c.slice(Math.max(0,e-40),e),p="\u032D",u=(c[e]||" ")+p,l=c.slice(e+1,e+20))=>{throw SyntaxError(`${r} at ${t.length+1}:${o.length+1}
3
3
  ${c[e-41]!==`
4
- `,""+i}${f}${l}`)},Pr=(r,e=u)=>(Array.isArray(r)&&(r.loc=e),r),w=(r,e=u,t)=>{for(;t=r(c.charCodeAt(u));)u+=t;return c.slice(e,u)},g=(r=1)=>c[u+=r],or=r=>u=r,A=(r=0,e)=>{let t,o,i,p,f=d.reserved,l;for(e&&d.asi&&(d.newline=!1),d.reserved=0;(t=d.space())&&(l=d.newline,1)&&t!==e&&(i=((p=C[t])&&p(o,r))??(d.asi&&o&&l&&(i=d.asi(o,r,A)))??(!o&&!d.reserved&&w(d.id)));)o=i,d.reserved=0;return d.reserved=f,e&&(t==e?u++:v("Unclosed "+String.fromCharCode(e-(e>42?2:1)))),o},P=d.space=(r,e=u)=>{for(;(r=c.charCodeAt(u))<=32;)d.asi&&r===10&&(d.newline=!0),u++;return r},Ie=d.id=r=>r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122||r==36||r==95||r>=192&&r!=215&&r!=247,nr=(r,e=r.length)=>c.substr(u,e)===r&&!d.id(c.charCodeAt(u+e)),ve=()=>(g(),A(0,41)),C=[],y=(r,e=32,t,o=r.charCodeAt(0),i=r.length,p=C[o],f=r.toUpperCase()!==r,l,h)=>C[o]=(E,I,R,T=u)=>(l=R,(R?r==R:(i<2||r.charCodeAt(1)===c.charCodeAt(u+1)&&(i<3||c.substr(u,i)==r))&&(!f||!d.id(c.charCodeAt(u+i)))&&(l=R=r))&&I<e&&(u+=i,(h=t(E))?Pr(h,T):(u=T,l=0,f&&h!==!1&&(d.reserved=1),!f&&!p&&v()),h)||p?.(E,I,l)),m=(r,e,t=!1)=>y(r,e,(o,i)=>o&&(i=A(e-(t?.5:0)))&&[r,o,i]),S=(r,e,t)=>y(r,e,o=>t?o&&[r,o]:!o&&(o=A(e-.5))&&[r,o]),L=(r,e)=>y(r,200,t=>!t&&[,e]),z=(r,e,t)=>{y(r,e,(o,i)=>(i=A(e-(t?.5:0)),o?.[0]!==r&&(o=[r,o||null]),i?.[0]===r?o.push(...i.slice(1)):o.push(i||null),o))},_=(r,e)=>y(r[0],e,t=>!t&&[r,A(0,r.charCodeAt(1))||null]),J=(r,e)=>y(r[0],e,t=>t&&[r,t,A(0,r.charCodeAt(1))||null]),W={},s=(r,e,t=W[r])=>W[r]=(...o)=>e(...o)||t?.(...o),n=r=>Array.isArray(r)?r[0]==null?(e=>()=>e)(r[1]):W[r[0]]?.(...r.slice(1))??v(`Unknown operator: ${r[0]}`,r?.loc):r===void 0?()=>{}:e=>e?.[r];var D=46,U=48,F=57,Lr=69,Tr=101,_r=43,Ur=45,B=95,Mr=110,Br=97,Dr=102,Fr=65,Gr=70,ir=r=>r.indexOf("_")<0?r:r.replaceAll("_",""),V=r=>{let e=ir(w(t=>t===D&&c.charCodeAt(u+1)!==D||t>=U&&t<=F||t===B||((t===Lr||t===Tr)&&((t=c.charCodeAt(u+1))>=U&&t<=F||t===_r||t===Ur)?2:0)));return c.charCodeAt(u)===Mr?(g(),[,BigInt(e)]):(r=+e)!=r?v():[,r]},Xr={2:r=>r===48||r===49||r===B,8:r=>r>=48&&r<=55||r===B,16:r=>r>=U&&r<=F||r>=Br&&r<=Dr||r>=Fr&&r<=Gr||r===B};d.number=null;C[D]=r=>!r&&c.charCodeAt(u+1)!==D&&V();for(let r=U;r<=F;r++)C[r]=e=>e?void 0:V();C[U]=r=>{if(r)return;let e=d.number;if(e){for(let[t,o]of Object.entries(e))if(t[0]==="0"&&c[u+1]?.toLowerCase()===t[1])return g(2),[,parseInt(ir(w(Xr[o])),o)]}return V()};var $r=92,sr=34,pr=39,Qr={n:`
5
- `,r:"\r",t:" ",b:"\b",f:"\f",v:"\v"},lr=r=>(e,t,o="")=>{if(!(e||!d.string?.[String.fromCharCode(r)]))return g(),w(i=>i-r&&(i===$r?(o+=Qr[c[u+1]]||c[u+1],2):(o+=c[u],1))),c[u]===String.fromCharCode(r)?g():v("Bad string"),[,o]};C[sr]=lr(sr);C[pr]=lr(pr);d.string={'"':!0};var Hr=20;"= += -= *= /= %= |= &= ^= >>= <<=".split(" ").map(r=>m(r,Hr,!0));var mr=(r,e,t,o)=>typeof r=="string"?i=>e(i,r,i):r[0]==="."?(t=n(r[1]),o=r[2],i=>e(t(i),o,i)):r[0]==="[]"&&r.length===3?(t=n(r[1]),o=n(r[2]),i=>e(t(i),o(i),i)):r[0]==="()"&&r.length===2?mr(r[1],e):(()=>{throw Error("Invalid assignment target")})(),fr={"=":(r,e,t)=>r[e]=t,"+=":(r,e,t)=>r[e]+=t,"-=":(r,e,t)=>r[e]-=t,"*=":(r,e,t)=>r[e]*=t,"/=":(r,e,t)=>r[e]/=t,"%=":(r,e,t)=>r[e]%=t,"|=":(r,e,t)=>r[e]|=t,"&=":(r,e,t)=>r[e]&=t,"^=":(r,e,t)=>r[e]^=t,">>=":(r,e,t)=>r[e]>>=t,"<<=":(r,e,t)=>r[e]<<=t};for(let r in fr)s(r,(e,t)=>(t=n(t),mr(e,(o,i,p)=>fr[r](o,i,t(p)))));var ar=30,Kr=40,ur=140;m("!",ur);S("!",ur);m("||",ar);m("&&",Kr);s("!",r=>(r=n(r),e=>!r(e)));s("||",(r,e)=>(r=n(r),e=n(e),t=>r(t)||e(t)));s("&&",(r,e)=>(r=n(r),e=n(e),t=>r(t)&&e(t)));var jr=50,Wr=60,zr=70,cr=100,Jr=140;m("|",jr);m("&",zr);m("^",Wr);m(">>",cr);m("<<",cr);S("~",Jr);s("~",r=>(r=n(r),e=>~r(e)));s("|",(r,e)=>(r=n(r),e=n(e),t=>r(t)|e(t)));s("&",(r,e)=>(r=n(r),e=n(e),t=>r(t)&e(t)));s("^",(r,e)=>(r=n(r),e=n(e),t=>r(t)^e(t)));s(">>",(r,e)=>(r=n(r),e=n(e),t=>r(t)>>e(t)));s("<<",(r,e)=>(r=n(r),e=n(e),t=>r(t)<<e(t)));var G=90;m("<",G);m(">",G);m("<=",G);m(">=",G);s(">",(r,e)=>(r=n(r),e=n(e),t=>r(t)>e(t)));s("<",(r,e)=>(r=n(r),e=n(e),t=>r(t)<e(t)));s(">=",(r,e)=>(r=n(r),e=n(e),t=>r(t)>=e(t)));s("<=",(r,e)=>(r=n(r),e=n(e),t=>r(t)<=e(t)));var dr=80;m("==",dr);m("!=",dr);s("==",(r,e)=>(r=n(r),e=n(e),t=>r(t)==e(t)));s("!=",(r,e)=>(r=n(r),e=n(e),t=>r(t)!=e(t)));var Ar=110,Y=120,gr=140;m("+",Ar);m("-",Ar);m("*",Y);m("/",Y);m("%",Y);S("+",gr);S("-",gr);s("+",(r,e)=>e!==void 0?(r=n(r),e=n(e),t=>r(t)+e(t)):(r=n(r),t=>+r(t)));s("-",(r,e)=>e!==void 0?(r=n(r),e=n(e),t=>r(t)-e(t)):(r=n(r),t=>-r(t)));s("*",(r,e)=>(r=n(r),e=n(e),t=>r(t)*e(t)));s("/",(r,e)=>(r=n(r),e=n(e),t=>r(t)/e(t)));s("%",(r,e)=>(r=n(r),e=n(e),t=>r(t)%e(t)));var X=150;y("++",X,r=>r?["++",r,null]:["++",A(X-1)]);y("--",X,r=>r?["--",r,null]:["--",A(X-1)]);var Z=(r,e,t,o)=>typeof r=="string"?i=>e(i,r):r[0]==="."?(t=n(r[1]),o=r[2],i=>e(t(i),o)):r[0]==="[]"&&r.length===3?(t=n(r[1]),o=n(r[2]),i=>e(t(i),o(i))):r[0]==="()"&&r.length===2?Z(r[1],e):(()=>{throw Error("Invalid increment target")})();s("++",(r,e)=>Z(r,e===null?(t,o)=>t[o]++:(t,o)=>++t[o]));s("--",(r,e)=>Z(r,e===null?(t,o)=>t[o]--:(t,o)=>--t[o]));var Vr=5,Yr=10,Zr=170;_("()",Zr);z(",",Yr);z(";",Vr,!0);var hr=(...r)=>(r=r.map(n),e=>{let t;for(let o of r)t=o(e);return t});s(",",hr);s(";",hr);var N=r=>r?.[0]==="_"&&r[1]==="_"||r==="constructor"||r==="prototype",q=170;J("[]",q);m(".",q);J("()",q);var $=r=>{throw Error(r)};s("[]",(r,e)=>e===void 0?(r=r?r[0]===","?r.slice(1):[r]:[],r=r.map(t=>t==null?(()=>{}):t[0]==="..."?(t=n(t[1]),o=>t(o)):(t=n(t),o=>[t(o)])),t=>r.flatMap(o=>o(t))):(e==null&&$("Missing index"),r=n(r),e=n(e),t=>{let o=e(t);return N(o)?void 0:r(t)[o]}));s(".",(r,e)=>(r=n(r),e=e[0]?e:e[1],N(e)?()=>{}:t=>r(t)[e]));s("()",(r,e)=>{if(e===void 0)return r==null?$("Empty ()"):n(r);let t=i=>i?.[0]===","&&i.slice(1).some(p=>p==null||t(p));t(e)&&$("Empty argument");let o=e?e[0]===","?(e=e.slice(1).map(n),i=>e.map(p=>p(i))):(e=n(e),i=>[e(i)]):()=>[];return x(r,(i,p,f)=>i[p](...o(f)))});var k=r=>typeof r=="string"||Array.isArray(r)&&(r[0]==="."||r[0]==="?."||r[0]==="[]"&&r.length===3||r[0]==="?.[]"||r[0]==="()"&&r.length===2&&k(r[1])||r[0]==="{}"),x=(r,e,t,o)=>r==null?$("Empty ()"):r[0]==="()"&&r.length==2?x(r[1],e):typeof r=="string"?i=>e(i,r,i):r[0]==="."?(t=n(r[1]),o=r[2],i=>e(t(i),o,i)):r[0]==="?."?(t=n(r[1]),o=r[2],i=>{let p=t(i);return p==null?void 0:e(p,o,i)}):r[0]==="[]"&&r.length===3?(t=n(r[1]),o=n(r[2]),i=>e(t(i),o(i),i)):r[0]==="?.[]"?(t=n(r[1]),o=n(r[2]),i=>{let p=t(i);return p==null?void 0:e(p,o(i),i)}):(r=n(r),i=>e([r(i)],0,i)),O=x;var yr=new WeakMap,qr=(r,...e)=>typeof r=="string"?n(d(r)):yr.get(r)||yr.set(r,xr(r,e)).get(r),Cr=57344,xr=(r,e)=>{let t=r.reduce((p,f,l)=>p+(l?String.fromCharCode(Cr+l-1):"")+f,""),o=d(t),i=p=>{if(typeof p=="string"&&p.length===1){let f=p.charCodeAt(0)-Cr,l;if(f>=0&&f<e.length)return l=e[f],br(l)?l:[,l]}return Array.isArray(p)?p.map(i):p};return n(i(o))},br=r=>typeof r=="string"||Array.isArray(r)&&(typeof r[0]=="string"||r[0]===void 0),re=qr;var ee=32,te=d.space;d.comment??={"//":`
6
- `,"/*":"*/"};var b;d.space=()=>{b||(b=Object.entries(d.comment).map(([i,p])=>[i,p,i.charCodeAt(0)]));for(var r;r=te();){for(var e=0,t;t=b[e++];)if(r===t[2]&&c.substr(u,t[0].length)===t[0]){var o=u+t[0].length;if(t[1]===`
7
- `)for(;c.charCodeAt(o)>=ee;)o++;else{for(;c[o]&&c.substr(o,t[1].length)!==t[1];)o++;c[o]&&(o+=t[1].length)}or(o),r=0;break}if(r)return r}return r};var Sr=80;m("===",Sr);m("!==",Sr);s("===",(r,e)=>(r=n(r),e=n(e),t=>r(t)===e(t)));s("!==",(r,e)=>(r=n(r),e=n(e),t=>r(t)!==e(t)));var oe=30;m("??",oe);s("??",(r,e)=>(r=n(r),e=n(e),t=>r(t)??e(t)));var ne=130,ie=20;m("**",ne,!0);m("**=",ie,!0);s("**",(r,e)=>(r=n(r),e=n(e),t=>r(t)**e(t)));var se=r=>{throw Error(r)};s("**=",(r,e)=>(k(r)||se("Invalid assignment target"),e=n(e),O(r,(t,o,i)=>t[o]**=e(i))));var Er=90;m("in",Er);m("of",Er);s("in",(r,e)=>(r=n(r),e=n(e),t=>r(t)in e(t)));var pe=20,le=100,fe=r=>{throw Error(r)};m(">>>",le);m(">>>=",pe,!0);s(">>>",(r,e)=>(r=n(r),e=n(e),t=>r(t)>>>e(t)));s(">>>=",(r,e)=>(k(r)||fe("Invalid assignment target"),e=n(e),O(r,(t,o,i)=>t[o]>>>=e(i))));var me=r=>r[0]?.[0]===","?r[0].slice(1):r,Q=(r,e,t)=>{if(typeof r=="string"){t[r]=e;return}let[o,...i]=r,p=me(i);if(o==="{}"){let f=[];for(let l of p){if(Array.isArray(l)&&l[0]==="..."){let T={};for(let j in e)f.includes(j)||(T[j]=e[j]);t[l[1]]=T;break}let h,E,I;typeof l=="string"?h=E=l:l[0]==="="?(typeof l[1]=="string"?h=E=l[1]:[,h,E]=l[1],I=l[2]):[,h,E]=l,f.push(h);let R=e[h];R===void 0&&I&&(R=n(I)(t)),Q(E,R,t)}}else if(o==="[]"){let f=0;for(let l of p){if(l===null){f++;continue}if(Array.isArray(l)&&l[0]==="..."){t[l[1]]=e.slice(f);break}let h=l,E;Array.isArray(l)&&l[0]==="="&&([,h,E]=l);let I=e[f++];I===void 0&&E&&(I=n(E)(t)),Q(h,I,t)}}};var rr=20,H=r=>{throw Error(r)};m("||=",rr,!0);m("&&=",rr,!0);m("??=",rr,!0);s("=",(r,e)=>{if(Array.isArray(r)&&(r[0]==="let"||r[0]==="const"||r[0]==="var")){let t=r[1];return e=n(e),typeof t=="string"?o=>{o[t]=e(o)}:o=>Q(t,e(o),o)}return k(r)||H("Invalid assignment target"),e=n(e),O(r,(t,o,i)=>t[o]=e(i))});s("||=",(r,e)=>(k(r)||H("Invalid assignment target"),e=n(e),O(r,(t,o,i)=>t[o]||=e(i))));s("&&=",(r,e)=>(k(r)||H("Invalid assignment target"),e=n(e),O(r,(t,o,i)=>t[o]&&=e(i))));s("??=",(r,e)=>(k(r)||H("Invalid assignment target"),e=n(e),O(r,(t,o,i)=>t[o]??=e(i))));L("true",!0);L("false",!1);L("null",null);y("undefined",200,r=>!r&&[]);L("NaN",NaN);L("Infinity",1/0);var er=20;y("?",er,(r,e,t)=>r&&(e=A(er-1))&&w(o=>o===58)&&(t=A(er-1),["?",r,e,t]));s("?",(r,e,t)=>(r=n(r),e=n(e),t=n(t),o=>r(o)?e(o):t(o)));var ue=20;m("=>",ue,!0);s("=>",(r,e)=>{r=r[0]==="()"?r[1]:r,r=r?r[0]===","?r.slice(1):[r]:[];let t=-1,o=null;return r.length&&Array.isArray(r[r.length-1])&&r[r.length-1][0]==="..."&&(t=r.length-1,o=r[t][1],r=r.slice(0,-1)),e=n(e[0]==="{}"?e[1]:e),(i=null)=>(i=Object.create(i),(...p)=>(r.forEach((f,l)=>i[f]=p[l]),o&&(i[o]=p.slice(t)),e(i)))});var ce=140;S("...",ce);s("...",r=>(r=n(r),e=>Object.entries(r(e))));var Ir=170;y("?.",Ir,(r,e)=>{if(!r)return;let t=P();return t===40?(g(),["?.()",r,A(0,41)||null]):t===91?(g(),["?.[]",r,A(0,93)]):(e=A(Ir),e?["?.",r,e]:void 0)});s("?.",(r,e)=>(r=n(r),N(e)?()=>{}:t=>r(t)?.[e]));s("?.[]",(r,e)=>(r=n(r),e=n(e),t=>{let o=e(t);return N(o)?void 0:r(t)?.[o]}));s("?.()",(r,e)=>{let t=e?e[0]===","?(e=e.slice(1).map(n),i=>e.map(p=>p(i))):(e=n(e),i=>[e(i)]):()=>[];if(r[0]==="?."){let i=n(r[1]),p=r[2];return N(p)?()=>{}:f=>i(f)?.[p]?.(...t(f))}if(r[0]==="?.[]"){let i=n(r[1]),p=n(r[2]);return f=>{let l=i(f),h=p(f);return N(h)?void 0:l?.[h]?.(...t(f))}}if(r[0]==="."){let i=n(r[1]),p=r[2];return N(p)?()=>{}:f=>i(f)?.[p]?.(...t(f))}if(r[0]==="[]"&&r.length===3){let i=n(r[1]),p=n(r[2]);return f=>{let l=i(f),h=p(f);return N(h)?void 0:l?.[h]?.(...t(f))}}let o=n(r);return i=>o(i)?.(...t(i))});var M=140;S("typeof",M);S("void",M);S("delete",M);y("new",M,r=>!r&&(nr(".target")?(g(7),["new.target"]):["new",A(M)]));s("typeof",r=>(r=n(r),e=>typeof r(e)));s("void",r=>(r=n(r),e=>(r(e),void 0)));s("delete",r=>{if(r[0]==="."){let e=n(r[1]),t=r[2];return o=>delete e(o)[t]}if(r[0]==="[]"){let e=n(r[1]),t=n(r[2]);return o=>delete e(o)[t(o)]}return()=>!0});s("new",r=>{let e=n(r?.[0]==="()"?r[1]:r),t=r?.[0]==="()"?r[2]:null,o=t?t[0]===","?(i=>p=>i.map(f=>f(p)))(t.slice(1).map(n)):(i=>p=>[i(p)])(n(t)):()=>[];return i=>new(e(i))(...o(i))});var a=Symbol("accessor"),tr=20,de=40,vr=41,wr=123,kr=125,Nr=r=>e=>{if(e)return;P();let t=w(d.id);if(!t||(P(),c.charCodeAt(u)!==de))return!1;g();let o=A(0,vr);return P(),c.charCodeAt(u)!==wr?!1:(g(),[r,t,o,A(0,kr)])};y("get",tr-1,Nr("get"));y("set",tr-1,Nr("set"));y("(",tr-1,r=>{if(!r||typeof r!="string")return;let e=A(0,vr)||null;if(P(),c.charCodeAt(u)===wr)return g(),[":",r,["=>",["()",e],A(0,kr)||null]]});s("get",(r,e)=>(e=e?n(e):()=>{},t=>[[a,r,{get:function(){let o=Object.create(t||{});return o.this=this,e(o)}}]]));s("set",(r,e,t)=>(t=t?n(t):()=>{},o=>[[a,r,{set:function(i){let p=Object.create(o||{});p.this=this,p[e]=i,t(p)}}]]));var Ae=20,Or=200;_("[]",Or);_("{}",Or);m(":",Ae-1,!0);s("{}",(r,e)=>{if(e!==void 0)return;r=r?r[0]!==","?[r]:r.slice(1):[];let t=r.map(o=>n(typeof o=="string"?[":",o,o]:o));return o=>{let i={},p={};for(let f of t.flatMap(l=>l(o)))if(f[0]===a){let[,l,h]=f;p[l]={...p[l],...h,configurable:!0,enumerable:!0}}else i[f[0]]=f[1];for(let f in p)Object.defineProperty(i,f,p[f]);return i}});s(":",(r,e)=>(e=n(e),Array.isArray(r)?(r=n(r),t=>[[r(t),e(t)]]):t=>[[r,e(t)]]));var ge=170,K=96,he=36,ye=123,Ce=92,Se={n:`
8
- `,r:"\r",t:" ",b:"\b",f:"\f",v:"\v"},Rr=()=>{let r=[];for(let e="",t;(t=c.charCodeAt(u))!==K;)t?t===Ce?(g(),e+=Se[c[u]]||c[u],g()):t===he&&c.charCodeAt(u+1)===ye?(e&&r.push([,e]),e="",g(2),r.push(A(0,125))):(e+=c[u],g(),t=c.charCodeAt(u),t===K&&e&&r.push([,e])):v("Unterminated template");return g(),r},Ee=C[K];C[K]=(r,e)=>r&&e<ge?d.asi&&d.newline?void 0:(g(),["``",r,...Rr()]):r?Ee?.(r,e):(g(),(t=>t.length<2&&t[0]?.[0]===void 0?t[0]||[,""]:["`",...t])(Rr()));s("`",(...r)=>(r=r.map(n),e=>r.map(t=>t(e)).join("")));s("``",(r,...e)=>{r=n(r);let t=[],o=[];for(let p of e)Array.isArray(p)&&p[0]===void 0?t.push(p[1]):o.push(n(p));let i=Object.assign([...t],{raw:t});return p=>r(p)(i,...o.map(f=>f(p)))});d.string["'"]=!0;d.number={"0x":16,"0b":2,"0o":8};export{J as access,m as binary,n as compile,c as cur,re as default,v as err,A as expr,_ as group,Ie as id,u as idx,L as literal,Pr as loc,C as lookup,z as nary,w as next,s as operator,W as operators,ve as parens,d as parse,or as seek,g as skip,P as space,y as token,S as unary,nr as word};
4
+ `,""+i}${u}${l}`)},Lr=(r,e=m)=>(Array.isArray(r)&&(r.loc=e),r),v=(r,e=m,t)=>{for(;t=r(c.charCodeAt(m));)m+=t;return c.slice(e,m)},h=(r=1)=>c[m+=r],nr=r=>m=r,A=(r=0,e)=>{let t,o,i,p,u=d.reserved,l;for(e&&d.asi&&(d.newline=!1),d.reserved=0;(t=d.space())&&(l=d.newline,1)&&t!==e&&(i=((p=C[t])&&p(o,r))??(o&&l&&d.asi?.(o,r,A))??(!o&&!d.reserved&&v(d.id)));)o=i,d.reserved=0;return d.reserved=u,e&&(t==e?m++:w("Unclosed "+String.fromCharCode(e-(e>42?2:1)))),o},P=d.space=(r,e=m)=>{for(;(r=c.charCodeAt(m))<=32;)d.asi&&r===10&&(d.newline=!0),m++;return r},ke=d.id=r=>r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122||r==36||r==95||r>=192&&r!=215&&r!=247,ir=(r,e=r.length)=>c.substr(m,e)===r&&!d.id(c.charCodeAt(m+e)),Ne=()=>(h(),A(0,41)),C=[],or={},y=(r,e=32,t,o=r.charCodeAt(0),i=r.length,p=C[o],u=r.toUpperCase()!==r,l,g)=>(e=or[r]=!p&&or[r]||e,C[o]=(E,I,R,L=m)=>(l=R,(R?r==R:(i<2||r.charCodeAt(1)===c.charCodeAt(m+1)&&(i<3||c.substr(m,i)==r))&&(!u||!d.id(c.charCodeAt(m+i)))&&(l=R=r))&&I<e&&(m+=i,(g=t(E))?Lr(g,L):(m=L,l=0,u&&g!==!1&&(d.reserved=1),!u&&!p&&w()),g)||p?.(E,I,l))),f=(r,e,t=!1)=>y(r,e,(o,i)=>o&&(i=A(e-(t?.5:0)))&&[r,o,i]),S=(r,e,t)=>y(r,e,o=>t?o&&[r,o]:!o&&(o=A(e-.5))&&[r,o]),T=(r,e)=>y(r,200,t=>!t&&[,e]),z=(r,e,t)=>{y(r,e,(o,i)=>(i=A(e-(t?.5:0)),o?.[0]!==r&&(o=[r,o||null]),i?.[0]===r?o.push(...i.slice(1)):o.push(i||null),o))},U=(r,e)=>y(r[0],e,t=>!t&&[r,A(0,r.charCodeAt(1))||null]),J=(r,e)=>y(r[0],e,t=>t&&[r,t,A(0,r.charCodeAt(1))||null]),W={},s=(r,e,t=W[r])=>W[r]=(...o)=>e(...o)||t?.(...o),n=r=>Array.isArray(r)?r[0]==null?(e=>()=>e)(r[1]):W[r[0]]?.(...r.slice(1))??w(`Unknown operator: ${r[0]}`,r?.loc):r===void 0?()=>{}:e=>e?.[r];var D=46,_=48,F=57,Ur=69,_r=101,Br=43,Mr=45,M=95,Dr=110,Fr=97,Gr=102,Xr=65,$r=70,sr=r=>r.indexOf("_")<0?r:r.replaceAll("_",""),V=r=>{let e=sr(v(t=>t===D&&c.charCodeAt(m+1)!==D||t>=_&&t<=F||t===M||((t===Ur||t===_r)&&((t=c.charCodeAt(m+1))>=_&&t<=F||t===Br||t===Mr)?2:0)));return c.charCodeAt(m)===Dr?(h(),[,BigInt(e)]):(r=+e)!=r?w():[,r]},Qr={2:r=>r===48||r===49||r===M,8:r=>r>=48&&r<=55||r===M,16:r=>r>=_&&r<=F||r>=Fr&&r<=Gr||r>=Xr&&r<=$r||r===M};d.number=null;C[D]=r=>!r&&c.charCodeAt(m+1)!==D&&V();for(let r=_;r<=F;r++)C[r]=e=>e?void 0:V();C[_]=r=>{if(r)return;let e=d.number;if(e){for(let[t,o]of Object.entries(e))if(t[0]==="0"&&c[m+1]?.toLowerCase()===t[1])return h(2),[,parseInt(sr(v(Qr[o])),o)]}return V()};var jr=92,pr=34,lr=39,Hr={n:`
5
+ `,r:"\r",t:" ",b:"\b",f:"\f",v:"\v"},ur=r=>(e,t,o="")=>{if(!(e||!d.string?.[String.fromCharCode(r)]))return h(),v(i=>i-r&&(i===jr?(o+=Hr[c[m+1]]||c[m+1],2):(o+=c[m],1))),c[m]===String.fromCharCode(r)?h():w("Bad string"),[,o]};C[pr]=ur(pr);C[lr]=ur(lr);d.string={'"':!0};var Kr=20;"= += -= *= /= %= |= &= ^= >>= <<=".split(" ").map(r=>f(r,Kr,!0));var mr=(r,e,t,o)=>typeof r=="string"?i=>e(i,r,i):r[0]==="."?(t=n(r[1]),o=r[2],i=>e(t(i),o,i)):r[0]==="[]"&&r.length===3?(t=n(r[1]),o=n(r[2]),i=>e(t(i),o(i),i)):r[0]==="()"&&r.length===2?mr(r[1],e):(()=>{throw Error("Invalid assignment target")})(),fr={"=":(r,e,t)=>r[e]=t,"+=":(r,e,t)=>r[e]+=t,"-=":(r,e,t)=>r[e]-=t,"*=":(r,e,t)=>r[e]*=t,"/=":(r,e,t)=>r[e]/=t,"%=":(r,e,t)=>r[e]%=t,"|=":(r,e,t)=>r[e]|=t,"&=":(r,e,t)=>r[e]&=t,"^=":(r,e,t)=>r[e]^=t,">>=":(r,e,t)=>r[e]>>=t,"<<=":(r,e,t)=>r[e]<<=t};for(let r in fr)s(r,(e,t)=>(t=n(t),mr(e,(o,i,p)=>fr[r](o,i,t(p)))));var ar=30,Wr=40,cr=140;f("!",cr);S("!",cr);f("||",ar);f("&&",Wr);s("!",r=>(r=n(r),e=>!r(e)));s("||",(r,e)=>(r=n(r),e=n(e),t=>r(t)||e(t)));s("&&",(r,e)=>(r=n(r),e=n(e),t=>r(t)&&e(t)));var zr=50,Jr=60,Vr=70,dr=100,Yr=140;f("|",zr);f("&",Vr);f("^",Jr);f(">>",dr);f("<<",dr);S("~",Yr);s("~",r=>(r=n(r),e=>~r(e)));s("|",(r,e)=>(r=n(r),e=n(e),t=>r(t)|e(t)));s("&",(r,e)=>(r=n(r),e=n(e),t=>r(t)&e(t)));s("^",(r,e)=>(r=n(r),e=n(e),t=>r(t)^e(t)));s(">>",(r,e)=>(r=n(r),e=n(e),t=>r(t)>>e(t)));s("<<",(r,e)=>(r=n(r),e=n(e),t=>r(t)<<e(t)));var G=90;f("<",G);f(">",G);f("<=",G);f(">=",G);s(">",(r,e)=>(r=n(r),e=n(e),t=>r(t)>e(t)));s("<",(r,e)=>(r=n(r),e=n(e),t=>r(t)<e(t)));s(">=",(r,e)=>(r=n(r),e=n(e),t=>r(t)>=e(t)));s("<=",(r,e)=>(r=n(r),e=n(e),t=>r(t)<=e(t)));var Ar=80;f("==",Ar);f("!=",Ar);s("==",(r,e)=>(r=n(r),e=n(e),t=>r(t)==e(t)));s("!=",(r,e)=>(r=n(r),e=n(e),t=>r(t)!=e(t)));var gr=110,Y=120,hr=140;f("+",gr);f("-",gr);f("*",Y);f("/",Y);f("%",Y);S("+",hr);S("-",hr);s("+",(r,e)=>e!==void 0?(r=n(r),e=n(e),t=>r(t)+e(t)):(r=n(r),t=>+r(t)));s("-",(r,e)=>e!==void 0?(r=n(r),e=n(e),t=>r(t)-e(t)):(r=n(r),t=>-r(t)));s("*",(r,e)=>(r=n(r),e=n(e),t=>r(t)*e(t)));s("/",(r,e)=>(r=n(r),e=n(e),t=>r(t)/e(t)));s("%",(r,e)=>(r=n(r),e=n(e),t=>r(t)%e(t)));var X=150;y("++",X,r=>r?["++",r,null]:["++",A(X-1)]);y("--",X,r=>r?["--",r,null]:["--",A(X-1)]);var Z=(r,e,t,o)=>typeof r=="string"?i=>e(i,r):r[0]==="."?(t=n(r[1]),o=r[2],i=>e(t(i),o)):r[0]==="[]"&&r.length===3?(t=n(r[1]),o=n(r[2]),i=>e(t(i),o(i))):r[0]==="()"&&r.length===2?Z(r[1],e):(()=>{throw Error("Invalid increment target")})();s("++",(r,e)=>Z(r,e===null?(t,o)=>t[o]++:(t,o)=>++t[o]));s("--",(r,e)=>Z(r,e===null?(t,o)=>t[o]--:(t,o)=>--t[o]));var Zr=5,qr=10,xr=170;U("()",xr);z(",",qr);z(";",Zr,!0);var yr=(...r)=>(r=r.map(n),e=>{let t;for(let o of r)t=o(e);return t});s(",",yr);s(";",yr);var N=r=>r?.[0]==="_"&&r[1]==="_"||r==="constructor"||r==="prototype",q=170;J("[]",q);f(".",q);J("()",q);var $=r=>{throw Error(r)};s("[]",(r,e)=>e===void 0?(r=r?r[0]===","?r.slice(1):[r]:[],r=r.map(t=>t==null?(()=>{}):t[0]==="..."?(t=n(t[1]),o=>t(o)):(t=n(t),o=>[t(o)])),t=>r.flatMap(o=>o(t))):(e==null&&$("Missing index"),r=n(r),e=n(e),t=>{let o=e(t);return N(o)?void 0:r(t)[o]}));s(".",(r,e)=>(r=n(r),e=e[0]?e:e[1],N(e)?()=>{}:t=>r(t)[e]));s("()",(r,e)=>{if(e===void 0)return r==null?$("Empty ()"):n(r);let t=i=>i?.[0]===","&&i.slice(1).some(p=>p==null||t(p));t(e)&&$("Empty argument");let o=e?e[0]===","?(e=e.slice(1).map(n),i=>e.map(p=>p(i))):(e=n(e),i=>[e(i)]):()=>[];return x(r,(i,p,u)=>i[p](...o(u)))});var k=r=>typeof r=="string"||Array.isArray(r)&&(r[0]==="."||r[0]==="?."||r[0]==="[]"&&r.length===3||r[0]==="?.[]"||r[0]==="()"&&r.length===2&&k(r[1])||r[0]==="{}"),x=(r,e,t,o)=>r==null?$("Empty ()"):r[0]==="()"&&r.length==2?x(r[1],e):typeof r=="string"?i=>e(i,r,i):r[0]==="."?(t=n(r[1]),o=r[2],i=>e(t(i),o,i)):r[0]==="?."?(t=n(r[1]),o=r[2],i=>{let p=t(i);return p==null?void 0:e(p,o,i)}):r[0]==="[]"&&r.length===3?(t=n(r[1]),o=n(r[2]),i=>e(t(i),o(i),i)):r[0]==="?.[]"?(t=n(r[1]),o=n(r[2]),i=>{let p=t(i);return p==null?void 0:e(p,o(i),i)}):(r=n(r),i=>e([r(i)],0,i)),O=x;var Cr=new WeakMap,br=(r,...e)=>typeof r=="string"?n(d(r)):Cr.get(r)||Cr.set(r,re(r,e)).get(r),Sr=57344,re=(r,e)=>{let t=r.reduce((p,u,l)=>p+(l?String.fromCharCode(Sr+l-1):"")+u,""),o=d(t),i=p=>{if(typeof p=="string"&&p.length===1){let u=p.charCodeAt(0)-Sr,l;if(u>=0&&u<e.length)return l=e[u],ee(l)?l:[,l]}return Array.isArray(p)?p.map(i):p};return n(i(o))},ee=r=>typeof r=="string"||Array.isArray(r)&&(typeof r[0]=="string"||r[0]===void 0),te=br;var oe=32,ne=d.space;d.comment??={"//":`
6
+ `,"/*":"*/"};var b;d.space=()=>{b||(b=Object.entries(d.comment).map(([i,p])=>[i,p,i.charCodeAt(0)]));for(var r;r=ne();){for(var e=0,t;t=b[e++];)if(r===t[2]&&c.substr(m,t[0].length)===t[0]){var o=m+t[0].length;if(t[1]===`
7
+ `)for(;c.charCodeAt(o)>=oe;)o++;else{for(;c[o]&&c.substr(o,t[1].length)!==t[1];)o++;c[o]&&(o+=t[1].length)}nr(o),r=0;break}if(r)return r}return r};var Er=80;f("===",Er);f("!==",Er);s("===",(r,e)=>(r=n(r),e=n(e),t=>r(t)===e(t)));s("!==",(r,e)=>(r=n(r),e=n(e),t=>r(t)!==e(t)));var ie=30;f("??",ie);s("??",(r,e)=>(r=n(r),e=n(e),t=>r(t)??e(t)));var se=130,pe=20;f("**",se,!0);f("**=",pe,!0);s("**",(r,e)=>(r=n(r),e=n(e),t=>r(t)**e(t)));var le=r=>{throw Error(r)};s("**=",(r,e)=>(k(r)||le("Invalid assignment target"),e=n(e),O(r,(t,o,i)=>t[o]**=e(i))));var Ir=90;f("in",Ir);f("of",Ir);s("in",(r,e)=>(r=n(r),e=n(e),t=>r(t)in e(t)));var ue=20,fe=100,me=r=>{throw Error(r)};f(">>>",fe);f(">>>=",ue,!0);s(">>>",(r,e)=>(r=n(r),e=n(e),t=>r(t)>>>e(t)));s(">>>=",(r,e)=>(k(r)||me("Invalid assignment target"),e=n(e),O(r,(t,o,i)=>t[o]>>>=e(i))));var ce=r=>r[0]?.[0]===","?r[0].slice(1):r,Q=(r,e,t)=>{if(typeof r=="string"){t[r]=e;return}let[o,...i]=r,p=ce(i);if(o==="{}"){let u=[];for(let l of p){if(Array.isArray(l)&&l[0]==="..."){let L={};for(let a in e)u.includes(a)||(L[a]=e[a]);t[l[1]]=L;break}let g,E,I;typeof l=="string"?g=E=l:l[0]==="="?(typeof l[1]=="string"?g=E=l[1]:[,g,E]=l[1],I=l[2]):[,g,E]=l,u.push(g);let R=e[g];R===void 0&&I&&(R=n(I)(t)),Q(E,R,t)}}else if(o==="[]"){let u=0;for(let l of p){if(l===null){u++;continue}if(Array.isArray(l)&&l[0]==="..."){t[l[1]]=e.slice(u);break}let g=l,E;Array.isArray(l)&&l[0]==="="&&([,g,E]=l);let I=e[u++];I===void 0&&E&&(I=n(E)(t)),Q(g,I,t)}}};var rr=20,j=r=>{throw Error(r)};f("||=",rr,!0);f("&&=",rr,!0);f("??=",rr,!0);s("=",(r,e)=>{if(Array.isArray(r)&&(r[0]==="let"||r[0]==="const"||r[0]==="var")){let t=r[1];return e=n(e),typeof t=="string"?o=>{o[t]=e(o)}:o=>Q(t,e(o),o)}return k(r)||j("Invalid assignment target"),e=n(e),O(r,(t,o,i)=>t[o]=e(i))});s("||=",(r,e)=>(k(r)||j("Invalid assignment target"),e=n(e),O(r,(t,o,i)=>t[o]||=e(i))));s("&&=",(r,e)=>(k(r)||j("Invalid assignment target"),e=n(e),O(r,(t,o,i)=>t[o]&&=e(i))));s("??=",(r,e)=>(k(r)||j("Invalid assignment target"),e=n(e),O(r,(t,o,i)=>t[o]??=e(i))));T("true",!0);T("false",!1);T("null",null);y("undefined",200,r=>!r&&[]);T("NaN",NaN);T("Infinity",1/0);var er=20;y("?",er,(r,e,t)=>r&&(e=A(er-1))&&v(o=>o===58)&&(t=A(er-1),["?",r,e,t]));s("?",(r,e,t)=>(r=n(r),e=n(e),t=n(t),o=>r(o)?e(o):t(o)));var wr=Symbol("return");var de=20;f("=>",de,!0);s("=>",(r,e)=>{r=r?.[0]==="()"?r[1]:r,r=r?r[0]===","?r.slice(1):[r]:[];let t=-1,o=null;r.length&&Array.isArray(r[r.length-1])&&r[r.length-1][0]==="..."&&(t=r.length-1,o=r[t][1],r=r.slice(0,-1));let i=e?.[0]==="{}";return e=n(i?["{",e[1]]:e),(p=null)=>(p=Object.create(p),(...u)=>{r.forEach((l,g)=>p[l]=u[g]),o&&(p[o]=u.slice(t));try{let l=e(p);return i?void 0:l}catch(l){if(l?.type===wr)return l.value;throw l}})});var Ae=140;S("...",Ae);s("...",r=>(r=n(r),e=>Object.entries(r(e))));var vr=170;y("?.",vr,(r,e)=>{if(!r)return;let t=P();return t===40?(h(),["?.()",r,A(0,41)||null]):t===91?(h(),["?.[]",r,A(0,93)]):(e=A(vr),e?["?.",r,e]:void 0)});s("?.",(r,e)=>(r=n(r),N(e)?()=>{}:t=>r(t)?.[e]));s("?.[]",(r,e)=>(r=n(r),e=n(e),t=>{let o=e(t);return N(o)?void 0:r(t)?.[o]}));s("?.()",(r,e)=>{let t=e?e[0]===","?(e=e.slice(1).map(n),i=>e.map(p=>p(i))):(e=n(e),i=>[e(i)]):()=>[];if(r[0]==="?."){let i=n(r[1]),p=r[2];return N(p)?()=>{}:u=>i(u)?.[p]?.(...t(u))}if(r[0]==="?.[]"){let i=n(r[1]),p=n(r[2]);return u=>{let l=i(u),g=p(u);return N(g)?void 0:l?.[g]?.(...t(u))}}if(r[0]==="."){let i=n(r[1]),p=r[2];return N(p)?()=>{}:u=>i(u)?.[p]?.(...t(u))}if(r[0]==="[]"&&r.length===3){let i=n(r[1]),p=n(r[2]);return u=>{let l=i(u),g=p(u);return N(g)?void 0:l?.[g]?.(...t(u))}}let o=n(r);return i=>o(i)?.(...t(i))});var B=140;S("typeof",B);S("void",B);S("delete",B);y("new",B,r=>!r&&(ir(".target")?(h(7),["new.target"]):["new",A(B)]));s("typeof",r=>(r=n(r),e=>typeof r(e)));s("void",r=>(r=n(r),e=>(r(e),void 0)));s("delete",r=>{if(r[0]==="."){let e=n(r[1]),t=r[2];return o=>delete e(o)[t]}if(r[0]==="[]"){let e=n(r[1]),t=n(r[2]);return o=>delete e(o)[t(o)]}return()=>!0});s("new",r=>{let e=n(r?.[0]==="()"?r[1]:r),t=r?.[0]==="()"?r[2]:null,o=t?t[0]===","?(i=>p=>i.map(u=>u(p)))(t.slice(1).map(n)):(i=>p=>[i(p)])(n(t)):()=>[];return i=>new(e(i))(...o(i))});var H=Symbol("accessor"),tr=20,ge=40,kr=41,Nr=123,Or=125,Rr=r=>e=>{if(e)return;P();let t=v(d.id);if(!t||(P(),c.charCodeAt(m)!==ge))return!1;h();let o=A(0,kr);return P(),c.charCodeAt(m)!==Nr?!1:(h(),[r,t,o,A(0,Or)])};y("get",tr-1,Rr("get"));y("set",tr-1,Rr("set"));y("(",tr-1,r=>{if(!r||typeof r!="string")return;let e=A(0,kr)||null;if(P(),c.charCodeAt(m)===Nr)return h(),[":",r,["=>",["()",e],A(0,Or)||null]]});s("get",(r,e)=>(e=e?n(e):()=>{},t=>[[H,r,{get:function(){let o=Object.create(t||{});return o.this=this,e(o)}}]]));s("set",(r,e,t)=>(t=t?n(t):()=>{},o=>[[H,r,{set:function(i){let p=Object.create(o||{});p.this=this,p[e]=i,t(p)}}]]));var he=20,Pr=200,ye=r=>r==null||typeof r=="string"||[":",",","...","get","set"].includes(r[0]);U("[]",Pr);U("{}",Pr);f(":",he-1,!0);s("{}",(r,e)=>{if(e!==void 0)return;if(!ye(r))return n(["{",r]);r=r?r[0]!==","?[r]:r.slice(1):[];let t=r.map(o=>n(typeof o=="string"?[":",o,o]:o));return o=>{let i={},p={};for(let u of t.flatMap(l=>l(o)))if(u[0]===H){let[,l,g]=u;p[l]={...p[l],...g,configurable:!0,enumerable:!0}}else i[u[0]]=u[1];for(let u in p)Object.defineProperty(i,u,p[u]);return i}});s("{",r=>(r=r?n(r):()=>{},e=>r(Object.create(e))));s(":",(r,e)=>(e=n(e),Array.isArray(r)?(r=n(r),t=>[[r(t),e(t)]]):t=>[[r,e(t)]]));var Ce=170,K=96,Se=36,Ee=123,Ie=92,we={n:`
8
+ `,r:"\r",t:" ",b:"\b",f:"\f",v:"\v"},Tr=()=>{let r=[];for(let e="",t;(t=c.charCodeAt(m))!==K;)t?t===Ie?(h(),e+=we[c[m]]||c[m],h()):t===Se&&c.charCodeAt(m+1)===Ee?(e&&r.push([,e]),e="",h(2),r.push(A(0,125))):(e+=c[m],h(),t=c.charCodeAt(m),t===K&&e&&r.push([,e])):w("Unterminated template");return h(),r},ve=C[K];C[K]=(r,e)=>r&&e<Ce?d.asi&&d.newline?void 0:(h(),["``",r,...Tr()]):r?ve?.(r,e):(h(),(t=>t.length<2&&t[0]?.[0]===void 0?t[0]||[,""]:["`",...t])(Tr()));s("`",(...r)=>(r=r.map(n),e=>r.map(t=>t(e)).join("")));s("``",(r,...e)=>{r=n(r);let t=[],o=[];for(let p of e)Array.isArray(p)&&p[0]===void 0?t.push(p[1]):o.push(n(p));let i=Object.assign([...t],{raw:t});return p=>r(p)(i,...o.map(u=>u(p)))});d.string["'"]=!0;d.number={"0x":16,"0b":2,"0o":8};export{J as access,f as binary,n as compile,c as cur,te as default,w as err,A as expr,U as group,ke as id,m as idx,T as literal,Lr as loc,C as lookup,z as nary,v as next,s as operator,W as operators,Ne as parens,d as parse,or as prec,nr as seek,h as skip,P as space,y as token,S as unary,ir as word};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "subscript",
3
- "version": "10.1.3",
3
+ "version": "10.1.5",
4
4
  "description": "Tiny expression parser & evaluator",
5
5
  "main": "subscript.js",
6
6
  "module": "subscript.js",
package/parse.js CHANGED
@@ -36,7 +36,7 @@ export let idx, cur,
36
36
  seek = n => idx = n,
37
37
 
38
38
  // a + b - c
39
- expr = (prec = 0, end) => {
39
+ expr = (p = 0, end) => {
40
40
  let cc, token, newNode, fn, prevReserved = parse.reserved, nl;
41
41
  if (end) parse.asi && (parse.newline = false);
42
42
  parse.reserved = 0;
@@ -46,8 +46,8 @@ export let idx, cur,
46
46
  (nl = parse.newline, 1) &&
47
47
  cc !== end &&
48
48
  (newNode =
49
- ((fn = lookup[cc]) && fn(token, prec)) ??
50
- (parse.asi && token && nl && (newNode = parse.asi(token, prec, expr))) ??
49
+ ((fn = lookup[cc]) && fn(token, p)) ??
50
+ (token && nl && parse.asi?.(token, p, expr)) ??
51
51
  (!token && !parse.reserved && next(parse.id))
52
52
  )
53
53
  ) token = newNode, parse.reserved = 0;
@@ -84,37 +84,40 @@ export let idx, cur,
84
84
  // operator lookup table
85
85
  lookup = [],
86
86
 
87
+ // precedence registry - features register via token(), others can read
88
+ prec = {},
89
+
87
90
  // create operator checker/mapper
88
91
  token = (
89
92
  op,
90
- prec = SPACE,
93
+ p = SPACE,
91
94
  map,
92
95
  c = op.charCodeAt(0),
93
96
  l = op.length,
94
97
  prev = lookup[c],
95
98
  word = op.toUpperCase() !== op,
96
99
  matched, r
97
- ) => lookup[c] = (a, curPrec, curOp, from = idx) =>
100
+ ) => (p = prec[op] = !prev && prec[op] || p, lookup[c] = (a, curPrec, curOp, from = idx) =>
98
101
  (matched = curOp,
99
102
  (curOp ?
100
103
  op == curOp :
101
104
  (l < 2 || (op.charCodeAt(1) === cur.charCodeAt(idx + 1) && (l < 3 || cur.substr(idx, l) == op))) && (!word || !parse.id(cur.charCodeAt(idx + l))) && (matched = curOp = op)
102
105
  ) &&
103
- curPrec < prec &&
106
+ curPrec < p &&
104
107
  (idx += l, (r = map(a)) ? loc(r, from) : (idx = from, matched = 0, word && r !== false && (parse.reserved = 1), !word && !prev && err()), r)
105
108
  ) ||
106
- prev?.(a, curPrec, matched),
109
+ prev?.(a, curPrec, matched)),
107
110
 
108
- binary = (op, prec, right = false) => token(op, prec, (a, b) => a && (b = expr(prec - (right ? .5 : 0))) && [op, a, b]),
111
+ binary = (op, p, right = false) => token(op, p, (a, b) => a && (b = expr(p - (right ? .5 : 0))) && [op, a, b]),
109
112
 
110
- unary = (op, prec, post) => token(op, prec, a => post ? (a && [op, a]) : (!a && (a = expr(prec - .5)) && [op, a])),
113
+ unary = (op, p, post) => token(op, p, a => post ? (a && [op, a]) : (!a && (a = expr(p - .5)) && [op, a])),
111
114
 
112
115
  literal = (op, val) => token(op, 200, a => !a && [, val]),
113
116
 
114
- nary = (op, prec, right) => {
115
- token(op, prec,
117
+ nary = (op, p, right) => {
118
+ token(op, p,
116
119
  (a, b) => (
117
- b = expr(prec - (right ? .5 : 0)),
120
+ b = expr(p - (right ? .5 : 0)),
118
121
  (
119
122
  (a?.[0] !== op) && (a = [op, a || null]),
120
123
  b?.[0] === op ? a.push(...b.slice(1)) : a.push(b || null),
@@ -123,9 +126,9 @@ export let idx, cur,
123
126
  )
124
127
  },
125
128
 
126
- group = (op, prec) => token(op[0], prec, a => (!a && [op, expr(0, op.charCodeAt(1)) || null])),
129
+ group = (op, p) => token(op[0], p, a => (!a && [op, expr(0, op.charCodeAt(1)) || null])),
127
130
 
128
- access = (op, prec) => token(op[0], prec, a => (a && [op, a, expr(0, op.charCodeAt(1)) || null]));
131
+ access = (op, p) => token(op[0], p, a => (a && [op, a, expr(0, op.charCodeAt(1)) || null]));
129
132
 
130
133
  // === Compile: AST → Evaluator ===
131
134
 
package/subscript.min.js CHANGED
@@ -1,5 +1,5 @@
1
- var l,f,u=r=>(l=0,f=r,u.newline=!1,r=c(),f[l]?C():r||""),C=(r="Unexpected token",e=l,t=f.slice(0,e).split(`
2
- `),o=t.pop(),i=f.slice(Math.max(0,e-40),e),p="\u032D",A=(f[e]||" ")+p,d=f.slice(e+1,e+20))=>{throw SyntaxError(`${r} at ${t.length+1}:${o.length+1}
1
+ var l,f,u=r=>(l=0,f=r,u.newline=!1,r=A(),f[l]?C():r||""),C=(r="Unexpected token",e=l,t=f.slice(0,e).split(`
2
+ `),o=t.pop(),i=f.slice(Math.max(0,e-40),e),p="\u032D",c=(f[e]||" ")+p,d=f.slice(e+1,e+20))=>{throw SyntaxError(`${r} at ${t.length+1}:${o.length+1}
3
3
  ${f[e-41]!==`
4
- `,""+i}${A}${d}`)},or=(r,e=l)=>(Array.isArray(r)&&(r.loc=e),r),E=(r,e=l,t)=>{for(;t=r(f.charCodeAt(l));)l+=t;return f.slice(e,l)},y=(r=1)=>f[l+=r],Dr=r=>l=r,c=(r=0,e)=>{let t,o,i,p,A=u.reserved,d;for(e&&u.asi&&(u.newline=!1),u.reserved=0;(t=u.space())&&(d=u.newline,1)&&t!==e&&(i=((p=g[t])&&p(o,r))??(u.asi&&o&&d&&(i=u.asi(o,r,c)))??(!o&&!u.reserved&&E(u.id)));)o=i,u.reserved=0;return u.reserved=A,e&&(t==e?l++:C("Unclosed "+String.fromCharCode(e-(e>42?2:1)))),o},Mr=u.space=(r,e=l)=>{for(;(r=f.charCodeAt(l))<=32;)u.asi&&r===10&&(u.newline=!0),l++;return r},Or=u.id=r=>r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122||r==36||r==95||r>=192&&r!=215&&r!=247,Lr=(r,e=r.length)=>f.substr(l,e)===r&&!u.id(f.charCodeAt(l+e)),Nr=()=>(y(),c(0,41)),g=[],h=(r,e=32,t,o=r.charCodeAt(0),i=r.length,p=g[o],A=r.toUpperCase()!==r,d,w)=>g[o]=(X,Q,I,B=l)=>(d=I,(I?r==I:(i<2||r.charCodeAt(1)===f.charCodeAt(l+1)&&(i<3||f.substr(l,i)==r))&&(!A||!u.id(f.charCodeAt(l+i)))&&(d=I=r))&&Q<e&&(l+=i,(w=t(X))?or(w,B):(l=B,d=0,A&&w!==!1&&(u.reserved=1),!A&&!p&&C()),w)||p?.(X,Q,d)),m=(r,e,t=!1)=>h(r,e,(o,i)=>o&&(i=c(e-(t?.5:0)))&&[r,o,i]),S=(r,e,t)=>h(r,e,o=>t?o&&[r,o]:!o&&(o=c(e-.5))&&[r,o]),$r=(r,e)=>h(r,200,t=>!t&&[,e]),O=(r,e,t)=>{h(r,e,(o,i)=>(i=c(e-(t?.5:0)),o?.[0]!==r&&(o=[r,o||null]),i?.[0]===r?o.push(...i.slice(1)):o.push(i||null),o))},H=(r,e)=>h(r[0],e,t=>!t&&[r,c(0,r.charCodeAt(1))||null]),L=(r,e)=>h(r[0],e,t=>t&&[r,t,c(0,r.charCodeAt(1))||null]),M={},s=(r,e,t=M[r])=>M[r]=(...o)=>e(...o)||t?.(...o),n=r=>Array.isArray(r)?r[0]==null?(e=>()=>e)(r[1]):M[r[0]]?.(...r.slice(1))??C(`Unknown operator: ${r[0]}`,r?.loc):r===void 0?()=>{}:e=>e?.[r];var U=46,_=48,v=57,nr=69,ir=101,sr=43,lr=45,T=95,pr=110,ur=97,mr=102,fr=65,dr=70,G=r=>r.indexOf("_")<0?r:r.replaceAll("_",""),N=r=>{let e=G(E(t=>t===U&&f.charCodeAt(l+1)!==U||t>=_&&t<=v||t===T||((t===nr||t===ir)&&((t=f.charCodeAt(l+1))>=_&&t<=v||t===sr||t===lr)?2:0)));return f.charCodeAt(l)===pr?(y(),[,BigInt(e)]):(r=+e)!=r?C():[,r]},Ar={2:r=>r===48||r===49||r===T,8:r=>r>=48&&r<=55||r===T,16:r=>r>=_&&r<=v||r>=ur&&r<=mr||r>=fr&&r<=dr||r===T};u.number=null;g[U]=r=>!r&&f.charCodeAt(l+1)!==U&&N();for(let r=_;r<=v;r++)g[r]=e=>e?void 0:N();g[_]=r=>{if(r)return;let e=u.number;if(e){for(let[t,o]of Object.entries(e))if(t[0]==="0"&&f[l+1]?.toLowerCase()===t[1])return y(2),[,parseInt(G(E(Ar[o])),o)]}return N()};var cr=92,W=34,z=39,gr={n:`
5
- `,r:"\r",t:" ",b:"\b",f:"\f",v:"\v"},J=r=>(e,t,o="")=>{if(!(e||!u.string?.[String.fromCharCode(r)]))return y(),E(i=>i-r&&(i===cr?(o+=gr[f[l+1]]||f[l+1],2):(o+=f[l],1))),f[l]===String.fromCharCode(r)?y():C("Bad string"),[,o]};g[W]=J(W);g[z]=J(z);u.string={'"':!0};var hr=20;"= += -= *= /= %= |= &= ^= >>= <<=".split(" ").map(r=>m(r,hr,!0));var V=(r,e,t,o)=>typeof r=="string"?i=>e(i,r,i):r[0]==="."?(t=n(r[1]),o=r[2],i=>e(t(i),o,i)):r[0]==="[]"&&r.length===3?(t=n(r[1]),o=n(r[2]),i=>e(t(i),o(i),i)):r[0]==="()"&&r.length===2?V(r[1],e):(()=>{throw Error("Invalid assignment target")})(),K={"=":(r,e,t)=>r[e]=t,"+=":(r,e,t)=>r[e]+=t,"-=":(r,e,t)=>r[e]-=t,"*=":(r,e,t)=>r[e]*=t,"/=":(r,e,t)=>r[e]/=t,"%=":(r,e,t)=>r[e]%=t,"|=":(r,e,t)=>r[e]|=t,"&=":(r,e,t)=>r[e]&=t,"^=":(r,e,t)=>r[e]^=t,">>=":(r,e,t)=>r[e]>>=t,"<<=":(r,e,t)=>r[e]<<=t};for(let r in K)s(r,(e,t)=>(t=n(t),V(e,(o,i,p)=>K[r](o,i,t(p)))));var Cr=30,yr=40,Y=140;m("!",Y);S("!",Y);m("||",Cr);m("&&",yr);s("!",r=>(r=n(r),e=>!r(e)));s("||",(r,e)=>(r=n(r),e=n(e),t=>r(t)||e(t)));s("&&",(r,e)=>(r=n(r),e=n(e),t=>r(t)&&e(t)));var Sr=50,Er=60,_r=70,Z=100,wr=140;m("|",Sr);m("&",_r);m("^",Er);m(">>",Z);m("<<",Z);S("~",wr);s("~",r=>(r=n(r),e=>~r(e)));s("|",(r,e)=>(r=n(r),e=n(e),t=>r(t)|e(t)));s("&",(r,e)=>(r=n(r),e=n(e),t=>r(t)&e(t)));s("^",(r,e)=>(r=n(r),e=n(e),t=>r(t)^e(t)));s(">>",(r,e)=>(r=n(r),e=n(e),t=>r(t)>>e(t)));s("<<",(r,e)=>(r=n(r),e=n(e),t=>r(t)<<e(t)));var P=90;m("<",P);m(">",P);m("<=",P);m(">=",P);s(">",(r,e)=>(r=n(r),e=n(e),t=>r(t)>e(t)));s("<",(r,e)=>(r=n(r),e=n(e),t=>r(t)<e(t)));s(">=",(r,e)=>(r=n(r),e=n(e),t=>r(t)>=e(t)));s("<=",(r,e)=>(r=n(r),e=n(e),t=>r(t)<=e(t)));var q=80;m("==",q);m("!=",q);s("==",(r,e)=>(r=n(r),e=n(e),t=>r(t)==e(t)));s("!=",(r,e)=>(r=n(r),e=n(e),t=>r(t)!=e(t)));var x=110,$=120,j=140;m("+",x);m("-",x);m("*",$);m("/",$);m("%",$);S("+",j);S("-",j);s("+",(r,e)=>e!==void 0?(r=n(r),e=n(e),t=>r(t)+e(t)):(r=n(r),t=>+r(t)));s("-",(r,e)=>e!==void 0?(r=n(r),e=n(e),t=>r(t)-e(t)):(r=n(r),t=>-r(t)));s("*",(r,e)=>(r=n(r),e=n(e),t=>r(t)*e(t)));s("/",(r,e)=>(r=n(r),e=n(e),t=>r(t)/e(t)));s("%",(r,e)=>(r=n(r),e=n(e),t=>r(t)%e(t)));var R=150;h("++",R,r=>r?["++",r,null]:["++",c(R-1)]);h("--",R,r=>r?["--",r,null]:["--",c(R-1)]);var F=(r,e,t,o)=>typeof r=="string"?i=>e(i,r):r[0]==="."?(t=n(r[1]),o=r[2],i=>e(t(i),o)):r[0]==="[]"&&r.length===3?(t=n(r[1]),o=n(r[2]),i=>e(t(i),o(i))):r[0]==="()"&&r.length===2?F(r[1],e):(()=>{throw Error("Invalid increment target")})();s("++",(r,e)=>F(r,e===null?(t,o)=>t[o]++:(t,o)=>++t[o]));s("--",(r,e)=>F(r,e===null?(t,o)=>t[o]--:(t,o)=>--t[o]));var Ir=5,Tr=10,Ur=170;H("()",Ur);O(",",Tr);O(";",Ir,!0);var a=(...r)=>(r=r.map(n),e=>{let t;for(let o of r)t=o(e);return t});s(",",a);s(";",a);var b=r=>r?.[0]==="_"&&r[1]==="_"||r==="constructor"||r==="prototype",k=170;L("[]",k);m(".",k);L("()",k);var D=r=>{throw Error(r)};s("[]",(r,e)=>e===void 0?(r=r?r[0]===","?r.slice(1):[r]:[],r=r.map(t=>t==null?(()=>{}):t[0]==="..."?(t=n(t[1]),o=>t(o)):(t=n(t),o=>[t(o)])),t=>r.flatMap(o=>o(t))):(e==null&&D("Missing index"),r=n(r),e=n(e),t=>{let o=e(t);return b(o)?void 0:r(t)[o]}));s(".",(r,e)=>(r=n(r),e=e[0]?e:e[1],b(e)?()=>{}:t=>r(t)[e]));s("()",(r,e)=>{if(e===void 0)return r==null?D("Empty ()"):n(r);let t=i=>i?.[0]===","&&i.slice(1).some(p=>p==null||t(p));t(e)&&D("Empty argument");let o=e?e[0]===","?(e=e.slice(1).map(n),i=>e.map(p=>p(i))):(e=n(e),i=>[e(i)]):()=>[];return rr(r,(i,p,A)=>i[p](...o(A)))});var rr=(r,e,t,o)=>r==null?D("Empty ()"):r[0]==="()"&&r.length==2?rr(r[1],e):typeof r=="string"?i=>e(i,r,i):r[0]==="."?(t=n(r[1]),o=r[2],i=>e(t(i),o,i)):r[0]==="?."?(t=n(r[1]),o=r[2],i=>{let p=t(i);return p==null?void 0:e(p,o,i)}):r[0]==="[]"&&r.length===3?(t=n(r[1]),o=n(r[2]),i=>e(t(i),o(i),i)):r[0]==="?.[]"?(t=n(r[1]),o=n(r[2]),i=>{let p=t(i);return p==null?void 0:e(p,o(i),i)}):(r=n(r),i=>e([r(i)],0,i));var er=new WeakMap,vr=(r,...e)=>typeof r=="string"?n(u(r)):er.get(r)||er.set(r,Pr(r,e)).get(r),tr=57344,Pr=(r,e)=>{let t=r.reduce((p,A,d)=>p+(d?String.fromCharCode(tr+d-1):"")+A,""),o=u(t),i=p=>{if(typeof p=="string"&&p.length===1){let A=p.charCodeAt(0)-tr,d;if(A>=0&&A<e.length)return d=e[A],Rr(d)?d:[,d]}return Array.isArray(p)?p.map(i):p};return n(i(o))},Rr=r=>typeof r=="string"||Array.isArray(r)&&(typeof r[0]=="string"||r[0]===void 0),le=vr;export{L as access,m as binary,n as compile,f as cur,le as default,C as err,c as expr,H as group,Or as id,l as idx,$r as literal,or as loc,g as lookup,O as nary,E as next,s as operator,M as operators,Nr as parens,u as parse,Dr as seek,y as skip,Mr as space,h as token,S as unary,Lr as word};
4
+ `,""+i}${c}${d}`)},nr=(r,e=l)=>(Array.isArray(r)&&(r.loc=e),r),E=(r,e=l,t)=>{for(;t=r(f.charCodeAt(l));)l+=t;return f.slice(e,l)},y=(r=1)=>f[l+=r],Mr=r=>l=r,A=(r=0,e)=>{let t,o,i,p,c=u.reserved,d;for(e&&u.asi&&(u.newline=!1),u.reserved=0;(t=u.space())&&(d=u.newline,1)&&t!==e&&(i=((p=g[t])&&p(o,r))??(o&&d&&u.asi?.(o,r,A))??(!o&&!u.reserved&&E(u.id)));)o=i,u.reserved=0;return u.reserved=c,e&&(t==e?l++:C("Unclosed "+String.fromCharCode(e-(e>42?2:1)))),o},Or=u.space=(r,e=l)=>{for(;(r=f.charCodeAt(l))<=32;)u.asi&&r===10&&(u.newline=!0),l++;return r},Lr=u.id=r=>r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122||r==36||r==95||r>=192&&r!=215&&r!=247,Nr=(r,e=r.length)=>f.substr(l,e)===r&&!u.id(f.charCodeAt(l+e)),$r=()=>(y(),A(0,41)),g=[],H={},h=(r,e=32,t,o=r.charCodeAt(0),i=r.length,p=g[o],c=r.toUpperCase()!==r,d,w)=>(e=H[r]=!p&&H[r]||e,g[o]=(X,Q,I,B=l)=>(d=I,(I?r==I:(i<2||r.charCodeAt(1)===f.charCodeAt(l+1)&&(i<3||f.substr(l,i)==r))&&(!c||!u.id(f.charCodeAt(l+i)))&&(d=I=r))&&Q<e&&(l+=i,(w=t(X))?nr(w,B):(l=B,d=0,c&&w!==!1&&(u.reserved=1),!c&&!p&&C()),w)||p?.(X,Q,d))),m=(r,e,t=!1)=>h(r,e,(o,i)=>o&&(i=A(e-(t?.5:0)))&&[r,o,i]),S=(r,e,t)=>h(r,e,o=>t?o&&[r,o]:!o&&(o=A(e-.5))&&[r,o]),Fr=(r,e)=>h(r,200,t=>!t&&[,e]),O=(r,e,t)=>{h(r,e,(o,i)=>(i=A(e-(t?.5:0)),o?.[0]!==r&&(o=[r,o||null]),i?.[0]===r?o.push(...i.slice(1)):o.push(i||null),o))},G=(r,e)=>h(r[0],e,t=>!t&&[r,A(0,r.charCodeAt(1))||null]),L=(r,e)=>h(r[0],e,t=>t&&[r,t,A(0,r.charCodeAt(1))||null]),M={},s=(r,e,t=M[r])=>M[r]=(...o)=>e(...o)||t?.(...o),n=r=>Array.isArray(r)?r[0]==null?(e=>()=>e)(r[1]):M[r[0]]?.(...r.slice(1))??C(`Unknown operator: ${r[0]}`,r?.loc):r===void 0?()=>{}:e=>e?.[r];var U=46,_=48,P=57,ir=69,sr=101,lr=43,pr=45,T=95,ur=110,mr=97,fr=102,dr=65,cr=70,W=r=>r.indexOf("_")<0?r:r.replaceAll("_",""),N=r=>{let e=W(E(t=>t===U&&f.charCodeAt(l+1)!==U||t>=_&&t<=P||t===T||((t===ir||t===sr)&&((t=f.charCodeAt(l+1))>=_&&t<=P||t===lr||t===pr)?2:0)));return f.charCodeAt(l)===ur?(y(),[,BigInt(e)]):(r=+e)!=r?C():[,r]},Ar={2:r=>r===48||r===49||r===T,8:r=>r>=48&&r<=55||r===T,16:r=>r>=_&&r<=P||r>=mr&&r<=fr||r>=dr&&r<=cr||r===T};u.number=null;g[U]=r=>!r&&f.charCodeAt(l+1)!==U&&N();for(let r=_;r<=P;r++)g[r]=e=>e?void 0:N();g[_]=r=>{if(r)return;let e=u.number;if(e){for(let[t,o]of Object.entries(e))if(t[0]==="0"&&f[l+1]?.toLowerCase()===t[1])return y(2),[,parseInt(W(E(Ar[o])),o)]}return N()};var gr=92,z=34,J=39,hr={n:`
5
+ `,r:"\r",t:" ",b:"\b",f:"\f",v:"\v"},K=r=>(e,t,o="")=>{if(!(e||!u.string?.[String.fromCharCode(r)]))return y(),E(i=>i-r&&(i===gr?(o+=hr[f[l+1]]||f[l+1],2):(o+=f[l],1))),f[l]===String.fromCharCode(r)?y():C("Bad string"),[,o]};g[z]=K(z);g[J]=K(J);u.string={'"':!0};var Cr=20;"= += -= *= /= %= |= &= ^= >>= <<=".split(" ").map(r=>m(r,Cr,!0));var Y=(r,e,t,o)=>typeof r=="string"?i=>e(i,r,i):r[0]==="."?(t=n(r[1]),o=r[2],i=>e(t(i),o,i)):r[0]==="[]"&&r.length===3?(t=n(r[1]),o=n(r[2]),i=>e(t(i),o(i),i)):r[0]==="()"&&r.length===2?Y(r[1],e):(()=>{throw Error("Invalid assignment target")})(),V={"=":(r,e,t)=>r[e]=t,"+=":(r,e,t)=>r[e]+=t,"-=":(r,e,t)=>r[e]-=t,"*=":(r,e,t)=>r[e]*=t,"/=":(r,e,t)=>r[e]/=t,"%=":(r,e,t)=>r[e]%=t,"|=":(r,e,t)=>r[e]|=t,"&=":(r,e,t)=>r[e]&=t,"^=":(r,e,t)=>r[e]^=t,">>=":(r,e,t)=>r[e]>>=t,"<<=":(r,e,t)=>r[e]<<=t};for(let r in V)s(r,(e,t)=>(t=n(t),Y(e,(o,i,p)=>V[r](o,i,t(p)))));var yr=30,Sr=40,Z=140;m("!",Z);S("!",Z);m("||",yr);m("&&",Sr);s("!",r=>(r=n(r),e=>!r(e)));s("||",(r,e)=>(r=n(r),e=n(e),t=>r(t)||e(t)));s("&&",(r,e)=>(r=n(r),e=n(e),t=>r(t)&&e(t)));var Er=50,_r=60,wr=70,q=100,Ir=140;m("|",Er);m("&",wr);m("^",_r);m(">>",q);m("<<",q);S("~",Ir);s("~",r=>(r=n(r),e=>~r(e)));s("|",(r,e)=>(r=n(r),e=n(e),t=>r(t)|e(t)));s("&",(r,e)=>(r=n(r),e=n(e),t=>r(t)&e(t)));s("^",(r,e)=>(r=n(r),e=n(e),t=>r(t)^e(t)));s(">>",(r,e)=>(r=n(r),e=n(e),t=>r(t)>>e(t)));s("<<",(r,e)=>(r=n(r),e=n(e),t=>r(t)<<e(t)));var R=90;m("<",R);m(">",R);m("<=",R);m(">=",R);s(">",(r,e)=>(r=n(r),e=n(e),t=>r(t)>e(t)));s("<",(r,e)=>(r=n(r),e=n(e),t=>r(t)<e(t)));s(">=",(r,e)=>(r=n(r),e=n(e),t=>r(t)>=e(t)));s("<=",(r,e)=>(r=n(r),e=n(e),t=>r(t)<=e(t)));var x=80;m("==",x);m("!=",x);s("==",(r,e)=>(r=n(r),e=n(e),t=>r(t)==e(t)));s("!=",(r,e)=>(r=n(r),e=n(e),t=>r(t)!=e(t)));var j=110,$=120,a=140;m("+",j);m("-",j);m("*",$);m("/",$);m("%",$);S("+",a);S("-",a);s("+",(r,e)=>e!==void 0?(r=n(r),e=n(e),t=>r(t)+e(t)):(r=n(r),t=>+r(t)));s("-",(r,e)=>e!==void 0?(r=n(r),e=n(e),t=>r(t)-e(t)):(r=n(r),t=>-r(t)));s("*",(r,e)=>(r=n(r),e=n(e),t=>r(t)*e(t)));s("/",(r,e)=>(r=n(r),e=n(e),t=>r(t)/e(t)));s("%",(r,e)=>(r=n(r),e=n(e),t=>r(t)%e(t)));var v=150;h("++",v,r=>r?["++",r,null]:["++",A(v-1)]);h("--",v,r=>r?["--",r,null]:["--",A(v-1)]);var F=(r,e,t,o)=>typeof r=="string"?i=>e(i,r):r[0]==="."?(t=n(r[1]),o=r[2],i=>e(t(i),o)):r[0]==="[]"&&r.length===3?(t=n(r[1]),o=n(r[2]),i=>e(t(i),o(i))):r[0]==="()"&&r.length===2?F(r[1],e):(()=>{throw Error("Invalid increment target")})();s("++",(r,e)=>F(r,e===null?(t,o)=>t[o]++:(t,o)=>++t[o]));s("--",(r,e)=>F(r,e===null?(t,o)=>t[o]--:(t,o)=>--t[o]));var Tr=5,Ur=10,Pr=170;G("()",Pr);O(",",Ur);O(";",Tr,!0);var b=(...r)=>(r=r.map(n),e=>{let t;for(let o of r)t=o(e);return t});s(",",b);s(";",b);var rr=r=>r?.[0]==="_"&&r[1]==="_"||r==="constructor"||r==="prototype",k=170;L("[]",k);m(".",k);L("()",k);var D=r=>{throw Error(r)};s("[]",(r,e)=>e===void 0?(r=r?r[0]===","?r.slice(1):[r]:[],r=r.map(t=>t==null?(()=>{}):t[0]==="..."?(t=n(t[1]),o=>t(o)):(t=n(t),o=>[t(o)])),t=>r.flatMap(o=>o(t))):(e==null&&D("Missing index"),r=n(r),e=n(e),t=>{let o=e(t);return rr(o)?void 0:r(t)[o]}));s(".",(r,e)=>(r=n(r),e=e[0]?e:e[1],rr(e)?()=>{}:t=>r(t)[e]));s("()",(r,e)=>{if(e===void 0)return r==null?D("Empty ()"):n(r);let t=i=>i?.[0]===","&&i.slice(1).some(p=>p==null||t(p));t(e)&&D("Empty argument");let o=e?e[0]===","?(e=e.slice(1).map(n),i=>e.map(p=>p(i))):(e=n(e),i=>[e(i)]):()=>[];return er(r,(i,p,c)=>i[p](...o(c)))});var er=(r,e,t,o)=>r==null?D("Empty ()"):r[0]==="()"&&r.length==2?er(r[1],e):typeof r=="string"?i=>e(i,r,i):r[0]==="."?(t=n(r[1]),o=r[2],i=>e(t(i),o,i)):r[0]==="?."?(t=n(r[1]),o=r[2],i=>{let p=t(i);return p==null?void 0:e(p,o,i)}):r[0]==="[]"&&r.length===3?(t=n(r[1]),o=n(r[2]),i=>e(t(i),o(i),i)):r[0]==="?.[]"?(t=n(r[1]),o=n(r[2]),i=>{let p=t(i);return p==null?void 0:e(p,o(i),i)}):(r=n(r),i=>e([r(i)],0,i));var tr=new WeakMap,Rr=(r,...e)=>typeof r=="string"?n(u(r)):tr.get(r)||tr.set(r,vr(r,e)).get(r),or=57344,vr=(r,e)=>{let t=r.reduce((p,c,d)=>p+(d?String.fromCharCode(or+d-1):"")+c,""),o=u(t),i=p=>{if(typeof p=="string"&&p.length===1){let c=p.charCodeAt(0)-or,d;if(c>=0&&c<e.length)return d=e[c],Dr(d)?d:[,d]}return Array.isArray(p)?p.map(i):p};return n(i(o))},Dr=r=>typeof r=="string"||Array.isArray(r)&&(typeof r[0]=="string"||r[0]===void 0),pe=Rr;export{L as access,m as binary,n as compile,f as cur,pe as default,C as err,A as expr,G as group,Lr as id,l as idx,Fr as literal,nr as loc,g as lookup,O as nary,E as next,s as operator,M as operators,$r as parens,u as parse,H as prec,Mr as seek,y as skip,Or as space,h as token,S as unary,Nr as word};