subscript 10.1.6 → 10.1.7

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/block.js CHANGED
@@ -1,19 +1,20 @@
1
1
  // Block parsing helpers
2
- import { expr, skip, space, lookup, err, parse, seek, cur, idx, parens, loc, operator, compile } from '../parse.js';
2
+ import { expr, skip, space, lookup, err, parse, seek, cur, idx, parens, loc, operator, compile, peek } from '../parse.js';
3
3
 
4
4
  const STATEMENT = 5, OBRACE = 123, CBRACE = 125;
5
5
 
6
- // keyword(op, prec, fn) - prefix-only word token
6
+ // keyword(op, prec, fn) - prefix-only word token with object property support
7
7
  // keyword('while', 6, () => ['while', parens(), body()])
8
8
  // keyword('break', 6, () => ['break'])
9
- // attaches .loc to array results for source mapping
9
+ // Allows property names: {while:1} won't match keyword, falls back to identifier
10
10
  export const keyword = (op, prec, map, c = op.charCodeAt(0), l = op.length, prev = lookup[c], r) =>
11
11
  lookup[c] = (a, curPrec, curOp, from = idx) =>
12
12
  !a &&
13
13
  (curOp ? op == curOp : (l < 2 || cur.substr(idx, l) == op) && (curOp = op)) &&
14
14
  curPrec < prec &&
15
15
  !parse.id(cur.charCodeAt(idx + l)) &&
16
- (seek(idx + l), (r = map()) ? loc(r, from) : (seek(from), !prev && err()), r) ||
16
+ peek(idx + l) !== 58 && // allow {keyword:value}
17
+ (seek(idx + l), (r = map()) ? loc(r, from) : seek(from), r) ||
17
18
  prev?.(a, curPrec, curOp);
18
19
 
19
20
  // infix(op, prec, fn) - infix word token (requires left operand)
package/feature/class.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // Class declarations and expressions
2
2
  // class A extends B { ... }
3
- import { binary, unary, token, expr, space, next, parse, literal, word, operator, compile, skip } from '../parse.js';
3
+ import { binary, unary, token, expr, space, next, parse, literal, word, operator, compile, skip, cur, idx } from '../parse.js';
4
4
  import { keyword, block } from './block.js';
5
5
 
6
6
  const TOKEN = 200, PREFIX = 140, COMP = 90;
@@ -7,11 +7,12 @@
7
7
  * [, undefined] serializes to [null, null] which would compile to null.
8
8
  * [] serializes to [] and compiles back to undefined.
9
9
  */
10
- import { literal, token } from '../parse.js';
10
+ import { literal } from '../parse.js';
11
+ import { keyword } from './block.js';
11
12
 
12
13
  literal('true', true);
13
14
  literal('false', false);
14
15
  literal('null', null);
15
- token('undefined', 200, a => !a && []); // [] for JSON compatibility
16
+ keyword('undefined', 200, () => []); // [] for JSON compatibility
16
17
  literal('NaN', NaN);
17
18
  literal('Infinity', Infinity);
package/feature/loop.js CHANGED
@@ -17,8 +17,7 @@ keyword('for', STATEMENT + 1, () => {
17
17
  // for await (x of y)
18
18
  if (word('await')) {
19
19
  skip(5);
20
- space();
21
- return ['for await', parens(), body()];
20
+ return (space(), ['for await', parens(), body()]);
22
21
  }
23
22
  return ['for', parens(), body()];
24
23
  });
@@ -55,8 +54,7 @@ keyword('continue', STATEMENT + 1, () => {
55
54
  });
56
55
  keyword('return', STATEMENT + 1, () => {
57
56
  parse.asi && (parse.newline = false);
58
- space();
59
- const c = cur.charCodeAt(idx);
57
+ const c = space();
60
58
  return !c || c === CBRACE || c === SEMI || parse.newline ? ['return'] : ['return', expr(STATEMENT)];
61
59
  });
62
60
 
@@ -8,17 +8,18 @@
8
8
  *
9
9
  * JS-specific keywords
10
10
  */
11
- import { unary, operator, compile, token, space, skip, expr, word } from '../../parse.js';
11
+ import { unary, operator, compile, skip, expr, word } from '../../parse.js';
12
+ import { keyword } from '../block.js';
12
13
 
13
14
  const PREFIX = 140;
14
15
 
15
16
  unary('typeof', PREFIX);
16
17
  unary('void', PREFIX);
17
18
  unary('delete', PREFIX);
18
- // new X() or new.target - can't use two unary() because both start with 'n' (lookup collision)
19
- token('new', PREFIX, a => !a && (
19
+ // new X() or new.target
20
+ keyword('new', PREFIX, () =>
20
21
  word('.target') ? (skip(7), ['new.target']) : ['new', expr(PREFIX)]
21
- ));
22
+ );
22
23
 
23
24
  // Compile
24
25
  operator('typeof', a => (a = compile(a), ctx => typeof a(ctx)));
package/feature/switch.js CHANGED
@@ -1,15 +1,18 @@
1
1
  // Switch/case/default
2
2
  // AST: ['switch', val, ['case', test, body], ['default', body], ...]
3
- import { expr, skip, space, parens, operator, compile, idx, err, seek, parse, lookup, word } from '../parse.js';
3
+ import { expr, skip, space, parens, operator, compile, idx, err, seek, parse, lookup, word, cur } from '../parse.js';
4
4
  import { keyword } from './block.js';
5
5
  import { BREAK } from './control.js';
6
6
 
7
7
  const STATEMENT = 5, ASSIGN = 20, COLON = 58, SEMI = 59, CBRACE = 125;
8
8
 
9
+ // Flag to track if we're inside switch body (case/default parsing)
10
+ let inSwitch = 0;
11
+
9
12
  // Reserve 'case' and 'default' as keywords that fail outside switch body
10
- // This prevents them becoming identifiers for colon operator
11
- const reserve = (w, c = w.charCodeAt(0), prev = lookup[c]) =>
12
- lookup[c] = (a, prec, op) => (word(w) && !a && (parse.reserved = 1)) || prev?.(a, prec, op);
13
+ // Allows property names like {case:1} ONLY when not in switch context
14
+ const reserve = (w, l = w.length, c = w.charCodeAt(0), prev = lookup[c]) =>
15
+ lookup[c] = (a, prec, op) => (word(w) && !a && inSwitch) || prev?.(a, prec, op);
13
16
  reserve('case');
14
17
  reserve('default');
15
18
 
@@ -26,24 +29,27 @@ const caseBody = (c) => {
26
29
  // switchBody() - parse case/default statements
27
30
  const switchBody = () => {
28
31
  space() === 123 || err('Expected {'); skip();
32
+ inSwitch++;
29
33
  const cases = [];
30
- while (space() !== CBRACE) {
31
- if (word('case')) {
32
- seek(idx + 4); space();
33
- const test = expr(ASSIGN - .5);
34
- space() === COLON && skip();
35
- cases.push(['case', test, caseBody()]);
36
- } else if (word('default')) {
37
- seek(idx + 7); space() === COLON && skip();
38
- cases.push(['default', caseBody()]);
39
- } else err('Expected case or default');
40
- }
34
+ try {
35
+ while (space() !== CBRACE) {
36
+ if (word('case')) {
37
+ seek(idx + 4); space();
38
+ const test = expr(ASSIGN - .5);
39
+ space() === COLON && skip();
40
+ cases.push(['case', test, caseBody()]);
41
+ } else if (word('default')) {
42
+ seek(idx + 7); space() === COLON && skip();
43
+ cases.push(['default', caseBody()]);
44
+ } else err('Expected case or default');
45
+ }
46
+ } finally { inSwitch--; }
41
47
  skip();
42
48
  return cases;
43
49
  };
44
50
 
45
51
  // switch (x) { ... }
46
- keyword('switch', STATEMENT + 1, () => (space(), ['switch', parens(), ...switchBody()]));
52
+ keyword('switch', STATEMENT + 1, () => space() === 40 && ['switch', parens(), ...switchBody()]);
47
53
 
48
54
  // Compile
49
55
  operator('switch', (val, ...cases) => {
package/feature/var.js CHANGED
@@ -8,7 +8,7 @@
8
8
  * for (let x in o) → ['for', ['in', ['let', 'x'], 'o'], body]
9
9
  * var x → ['var', 'x'] (acts as assignment target)
10
10
  */
11
- import { token, expr, space, operator, compile } from '../parse.js';
11
+ import { expr, space, operator, compile } from '../parse.js';
12
12
  import { keyword } from './block.js';
13
13
  import { destructure } from './destruct.js';
14
14
 
@@ -28,8 +28,8 @@ const decl = keyword => {
28
28
  return [keyword, node];
29
29
  };
30
30
 
31
- token('let', STATEMENT + 1, a => !a && decl('let'));
32
- token('const', STATEMENT + 1, a => !a && decl('const'));
31
+ keyword('let', STATEMENT + 1, () => decl('let'));
32
+ keyword('const', STATEMENT + 1, () => decl('const'));
33
33
 
34
34
  // var: just declares identifier, assignment happens separately
35
35
  // var x = 5 → ['=', ['var', 'x'], 5]
package/jessie.min.js CHANGED
@@ -1,8 +1,8 @@
1
- var l,m,c=r=>(l=0,m=r,c.newline=!1,r=h(),m[l]?T():r||""),T=(r="Unexpected token",e=l,t=m.slice(0,e).split(`
2
- `),n=t.pop(),o=m.slice(Math.max(0,e-40),e),s="\u032D",u=(m[e]||" ")+s,f=m.slice(e+1,e+20))=>{throw SyntaxError(`${r} at ${t.length+1}:${n.length+1}
1
+ var u,m,c=r=>(u=0,m=r,c.newline=!1,r=h(),m[u]?I():r||""),I=(r="Unexpected token",e=u,t=m.slice(0,e).split(`
2
+ `),n=t.pop(),o=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
3
  ${m[e-41]!==`
4
- `,""+o}${u}${f}`)},q=(r,e=l)=>(Array.isArray(r)&&(r.loc=e),r),k=(r,e=l,t)=>{for(;t=r(m.charCodeAt(l));)l+=t;return m.slice(e,l)},y=(r=1)=>m[l+=r],_=r=>l=r,h=(r=0,e)=>{let t,n,o,s,u=c.reserved,f;for(e&&c.asi&&(c.newline=!1),c.reserved=0;(t=c.space())&&(f=c.newline,1)&&t!==e&&(o=((s=C[t])&&s(n,r))??(n&&f&&c.asi?.(n,r,h))??(!n&&!c.reserved&&k(c.id)));)n=o,c.reserved=0;return c.reserved=u,e&&(t==e?l++:T("Unclosed "+String.fromCharCode(e-(e>42?2:1)))),n},d=c.space=(r,e=l)=>{for(;(r=m.charCodeAt(l))<=32;)c.asi&&r===10&&(c.newline=!0),l++;return r},St=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,R=(r,e=r.length)=>m.substr(l,e)===r&&!c.id(m.charCodeAt(l+e)),v=()=>(y(),h(0,41)),C=[],H={},w=(r,e=32,t,n=r.charCodeAt(0),o=r.length,s=C[n],u=r.toUpperCase()!==r,f,A)=>(e=H[r]=!s&&H[r]||e,C[n]=(g,S,U,I=l)=>(f=U,(U?r==U:(o<2||r.charCodeAt(1)===m.charCodeAt(l+1)&&(o<3||m.substr(l,o)==r))&&(!u||!c.id(m.charCodeAt(l+o)))&&(f=U=r))&&S<e&&(l+=o,(A=t(g))?q(A,I):(l=I,f=0,u&&A!==!1&&(c.reserved=1),!u&&!s&&T()),A)||s?.(g,S,f))),a=(r,e,t=!1)=>w(r,e,(n,o)=>n&&(o=h(e-(t?.5:0)))&&[r,n,o]),N=(r,e,t)=>w(r,e,n=>t?n&&[r,n]:!n&&(n=h(e-.5))&&[r,n]),j=(r,e)=>w(r,200,t=>!t&&[,e]),ur=(r,e,t)=>{w(r,e,(n,o)=>(o=h(e-(t?.5:0)),n?.[0]!==r&&(n=[r,n||null]),o?.[0]===r?n.push(...o.slice(1)):n.push(o||null),n))},W=(r,e)=>w(r[0],e,t=>!t&&[r,h(0,r.charCodeAt(1))||null]),lr=(r,e)=>w(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),i=r=>Array.isArray(r)?r[0]==null?(e=>()=>e)(r[1]):fr[r[0]]?.(...r.slice(1))??T(`Unknown operator: ${r[0]}`,r?.loc):r===void 0?()=>{}:e=>e?.[r];var b=46,z=48,rr=57,le=69,ce=101,me=43,de=45,x=95,he=110,Ae=97,ae=102,ye=65,ge=70,Nr=r=>r.indexOf("_")<0?r:r.replaceAll("_",""),cr=r=>{let e=Nr(k(t=>t===b&&m.charCodeAt(l+1)!==b||t>=z&&t<=rr||t===x||((t===le||t===ce)&&((t=m.charCodeAt(l+1))>=z&&t<=rr||t===me||t===de)?2:0)));return m.charCodeAt(l)===he?(y(),[,BigInt(e)]):(r=+e)!=r?T():[,r]},we={2:r=>r===48||r===49||r===x,8:r=>r>=48&&r<=55||r===x,16:r=>r>=z&&r<=rr||r>=Ae&&r<=ae||r>=ye&&r<=ge||r===x};c.number=null;C[b]=r=>!r&&m.charCodeAt(l+1)!==b&&cr();for(let r=z;r<=rr;r++)C[r]=e=>e?void 0:cr();C[z]=r=>{if(r)return;let e=c.number;if(e){for(let[t,n]of Object.entries(e))if(t[0]==="0"&&m[l+1]?.toLowerCase()===t[1])return y(2),[,parseInt(Nr(k(we[n])),n)]}return cr()};var Ee=92,vr=34,Or=39,Ce={n:`
5
- `,r:"\r",t:" ",b:"\b",f:"\f",v:"\v"},_r=r=>(e,t,n="")=>{if(!(e||!c.string?.[String.fromCharCode(r)]))return y(),k(o=>o-r&&(o===Ee?(n+=Ce[m[l+1]]||m[l+1],2):(n+=m[l],1))),m[l]===String.fromCharCode(r)?y():T("Bad string"),[,n]};C[vr]=_r(vr);C[Or]=_r(Or);c.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,Te=40,Ur=140;a("!",Ur);N("!",Ur);a("||",ke);a("&&",Te);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 Ie=50,Re=60,Ne=70,Lr=100,ve=140;a("|",Ie);a("&",Ne);a("^",Re);a(">>",Lr);a("<<",Lr);N("~",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)));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 Br=110,mr=120,Gr=140;a("+",Br);a("-",Br);a("*",mr);a("/",mr);a("%",mr);N("+",Gr);N("-",Gr);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;w("++",tr,r=>r?["++",r,null]:["++",h(tr-1)]);w("--",tr,r=>r?["--",r,null]:["--",h(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 Oe=5,_e=10,Pe=170;W("()",Pe);ur(",",_e);ur(";",Oe,!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 G=r=>r?.[0]==="_"&&r[1]==="_"||r==="constructor"||r==="prototype",hr=170;lr("[]",hr);a(".",hr);lr("()",hr);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 G(n)?void 0:r(t)[n]}));p(".",(r,e)=>(r=i(r),e=e[0]?e:e[1],G(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,u)=>o[s](...n(u)))});var L=r=>typeof r=="string"||Array.isArray(r)&&(r[0]==="."||r[0]==="?."||r[0]==="[]"&&r.length===3||r[0]==="?.[]"||r[0]==="()"&&r.length===2&&L(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)),X=Ar;var Dr=new WeakMap,Me=(r,...e)=>typeof r=="string"?i(c(r)):Dr.get(r)||Dr.set(r,Ue(r,e)).get(r),Kr=57344,Ue=(r,e)=>{let t=r.reduce((s,u,f)=>s+(f?String.fromCharCode(Kr+f-1):"")+u,""),n=c(t),o=s=>{if(typeof s=="string"&&s.length===1){let u=s.charCodeAt(0)-Kr,f;if(u>=0&&u<e.length)return f=e[u],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,Be=c.space;c.comment??={"//":`
6
- `,"/*":"*/"};var ar;c.space=()=>{ar||(ar=Object.entries(c.comment).map(([o,s])=>[o,s,o.charCodeAt(0)]));for(var r;r=Be();){for(var e=0,t;t=ar[e++];)if(r===t[2]&&m.substr(l,t[0].length)===t[0]){var n=l+t[0].length;if(t[1]===`
7
- `)for(;m.charCodeAt(n)>=Fe;)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 $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 Ge=30;a("??",Ge);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)=>(L(r)||Ke("Invalid assignment target"),e=i(e),X(r,(t,n,o)=>t[n]**=e(o))));var jr=90;a("in",jr);a("of",jr);p("in",(r,e)=>(r=i(r),e=i(e),t=>r(t)in e(t)));var Qe=20,$e=100,je=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)=>(L(r)||je("Invalid assignment target"),e=i(e),X(r,(t,n,o)=>t[n]>>>=e(o))));var He=r=>r[0]?.[0]===","?r[0].slice(1):r,D=(r,e,t)=>{if(typeof r=="string"){t[r]=e;return}let[n,...o]=r,s=He(o);if(n==="{}"){let u=[];for(let f of s){if(Array.isArray(f)&&f[0]==="..."){let I={};for(let O in e)u.includes(O)||(I[O]=e[O]);t[f[1]]=I;break}let A,g,S;typeof f=="string"?A=g=f:f[0]==="="?(typeof f[1]=="string"?A=g=f[1]:[,A,g]=f[1],S=f[2]):[,A,g]=f,u.push(A);let U=e[A];U===void 0&&S&&(U=i(S)(t)),D(g,U,t)}}else if(n==="[]"){let u=0;for(let f of s){if(f===null){u++;continue}if(Array.isArray(f)&&f[0]==="..."){t[f[1]]=e.slice(u);break}let A=f,g;Array.isArray(f)&&f[0]==="="&&([,A,g]=f);let S=e[u++];S===void 0&&g&&(S=i(g)(t)),D(A,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=>D(t,e(n),n)}return L(r)||or("Invalid assignment target"),e=i(e),X(r,(t,n,o)=>t[n]=e(o))});p("||=",(r,e)=>(L(r)||or("Invalid assignment target"),e=i(e),X(r,(t,n,o)=>t[n]||=e(o))));p("&&=",(r,e)=>(L(r)||or("Invalid assignment target"),e=i(e),X(r,(t,n,o)=>t[n]&&=e(o))));p("??=",(r,e)=>(L(r)||or("Invalid assignment target"),e=i(e),X(r,(t,n,o)=>t[n]??=e(o))));j("true",!0);j("false",!1);j("null",null);w("undefined",200,r=>!r&&[]);j("NaN",NaN);j("Infinity",1/0);var gr=20;w("?",gr,(r,e,t)=>r&&(e=h(gr-1))&&k(n=>n===58)&&(t=h(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 M=Symbol("break"),K=Symbol("continue"),P=[];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;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 o=e?.[0]==="{}";return e=i(o?["{",e[1]]:e),(s=null)=>(s=Object.create(s),(...u)=>{r.forEach((f,A)=>s[f]=u[A]),n&&(s[n]=u.slice(t));try{let f=e(s);return o?void 0:f}catch(f){if(f===P)return f[0];throw f}})});var ze=140;N("...",ze);p("...",r=>(r=i(r),e=>Object.entries(r(e))));var Hr=170;w("?.",Hr,(r,e)=>{if(!r)return;let t=d();return t===40?(y(),["?.()",r,h(0,41)||null]):t===91?(y(),["?.[]",r,h(0,93)]):(e=h(Hr),e?["?.",r,e]:void 0)});p("?.",(r,e)=>(r=i(r),G(e)?()=>{}:t=>r(t)?.[e]));p("?.[]",(r,e)=>(r=i(r),e=i(e),t=>{let n=e(t);return G(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 G(s)?()=>{}:u=>o(u)?.[s]?.(...t(u))}if(r[0]==="?.[]"){let o=i(r[1]),s=i(r[2]);return u=>{let f=o(u),A=s(u);return G(A)?void 0:f?.[A]?.(...t(u))}}if(r[0]==="."){let o=i(r[1]),s=r[2];return G(s)?()=>{}:u=>o(u)?.[s]?.(...t(u))}if(r[0]==="[]"&&r.length===3){let o=i(r[1]),s=i(r[2]);return u=>{let f=o(u),A=s(u);return G(A)?void 0:f?.[A]?.(...t(u))}}let n=i(r);return o=>n(o)?.(...t(o))});var J=140;N("typeof",J);N("void",J);N("delete",J);w("new",J,r=>!r&&(R(".target")?(y(7),["new.target"]):["new",h(J)]));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(u=>u(s)))(t.slice(1).map(i)):(o=>s=>[o(s)])(i(t)):()=>[];return o=>new(e(o))(...n(o))});var ir=Symbol("accessor"),wr=20,Je=40,Wr=41,zr=123,Jr=125,Vr=r=>e=>{if(e)return;d();let t=k(c.id);if(!t||(d(),m.charCodeAt(l)!==Je))return!1;y();let n=h(0,Wr);return d(),m.charCodeAt(l)!==zr?!1:(y(),[r,t,n,h(0,Jr)])};w("get",wr-1,Vr("get"));w("set",wr-1,Vr("set"));w("(",wr-1,r=>{if(!r||typeof r!="string")return;let e=h(0,Wr)||null;if(d(),m.charCodeAt(l)===zr)return y(),[":",r,["=>",["()",e],h(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,Ye=r=>r==null||typeof r=="string"||[":",",","...","get","set"].includes(r[0]);W("[]",Yr);W("{}",Yr);a(":",Ve-1,!0);p("{}",(r,e)=>{if(e!==void 0)return;if(!Ye(r))return i(["{",r]);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 u of t.flatMap(f=>f(n)))if(u[0]===ir){let[,f,A]=u;s[f]={...s[f],...A,configurable:!0,enumerable:!0}}else o[u[0]]=u[1];for(let u in s)Object.defineProperty(o,u,s[u]);return o}});p("{",r=>(r=r?i(r):()=>{},e=>r(Object.create(e))));p(":",(r,e)=>(e=i(e),Array.isArray(r)?(r=i(r),t=>[[r(t),e(t)]]):t=>[[r,e(t)]]));var Ze=170,sr=96,qe=36,xe=123,be=92,rt={n:`
8
- `,r:"\r",t:" ",b:"\b",f:"\f",v:"\v"},Zr=()=>{let r=[];for(let e="",t;(t=m.charCodeAt(l))!==sr;)t?t===be?(y(),e+=rt[m[l]]||m[l],y()):t===qe&&m.charCodeAt(l+1)===xe?(e&&r.push([,e]),e="",y(2),r.push(h(0,125))):(e+=m[l],y(),t=m.charCodeAt(l),t===sr&&e&&r.push([,e])):T("Unterminated template");return y(),r},et=C[sr];C[sr]=(r,e)=>r&&e<Ze?c.asi&&c.newline?void 0:(y(),["``",r,...Zr()]):r?et?.(r,e):(y(),(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(u=>u(s)))});c.string["'"]=!0;c.number={"0x":16,"0b":2,"0o":8};var Er=5,qr=123,xr=125,E=(r,e,t,n=r.charCodeAt(0),o=r.length,s=C[n],u)=>C[n]=(f,A,g,S=l)=>!f&&(g?r==g:(o<2||m.substr(l,o)==r)&&(g=r))&&A<e&&!c.id(m.charCodeAt(l+o))&&(_(l+o),(u=t())?q(u,S):(_(S),!s&&T()),u)||s?.(f,A,g),Cr=(r,e,t,n=r.charCodeAt(0),o=r.length,s=C[n],u)=>C[n]=(f,A,g,S=l)=>f&&(g?r==g:(o<2||m.substr(l,o)==r)&&(g=r))&&A<e&&!c.id(m.charCodeAt(l+o))&&(_(l+o),q(u=t(f),S),u)||s?.(f,A,g),F=()=>(d()===qr||T("Expected {"),y(),h(Er-.5,xr)||null),B=()=>d()!==qr?h(Er+.5):(y(),h(Er-.5,xr)||null);var Sr=5,tt=10,nt=20,br=r=>{let e=h(tt-1);return e?.[0]==="in"||e?.[0]==="of"?[e[0],[r,e[1]],e[2]]:e?.[0]===","?[r,...e.slice(1)]:[r,e]};w("let",Sr+1,r=>!r&&br("let"));w("const",Sr+1,r=>!r&&br("const"));E("var",Sr,()=>(d(),["var",h(nt)]));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=>D(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 ot=200;E("function",ot,()=>{d();let r=!1;m[l]==="*"&&(r=!0,y(),d());let e=k(c.id);return e&&d(),r?["function*",e,v()||null,F()]:["function",e,v()||null,F()]});p("function",(r,e,t)=>{t=t?i(t):()=>{};let n=e?e[0]===","?e.slice(1):[e]:[],o=null,s=-1,u=n[n.length-1];return Array.isArray(u)&&u[0]==="..."&&(s=n.length-1,o=u[1],n.length--),f=>{let A=(...g)=>{let S={};n.forEach((I,O)=>S[I]=g[O]),o&&(S[o]=g.slice(s));let U=new Proxy(S,{get:(I,O)=>O in I?I[O]:f[O],set:(I,O,ue)=>((O in I?I:f)[O]=ue,!0),has:(I,O)=>O in I||O in f});try{return t(U)}catch(I){if(I===P)return I[0];throw I}};return r&&(f[r]=A),A}});p("function*",(r,e,t)=>{throw Error("Generator functions are not supported in evaluation")});var pr=140,kr=20;N("await",pr);E("yield",pr,()=>(d(),m[l]==="*"?(y(),d(),["yield*",h(kr)]):["yield",h(kr)]));E("async",pr,()=>{if(d(),R("function"))return["async",h(pr)];let r=h(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 Tr=200,it=140,st=90,pt=Symbol("static");N("static",it);a("instanceof",st);w("#",Tr,r=>{if(r)return;let e=k(c.id);return e?"#"+e:void 0});E("class",Tr,()=>{d();let r=k(c.id)||null;if(r==="extends")r=null,d();else{if(d(),!R("extends"))return["class",r,null,F()];y(7),d()}return["class",r,h(Tr),F()]});var ft=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(...u){if(!(this instanceof s))return ft("Class constructor must be called with new");let f=e?Reflect.construct(o,u,s):this;return s.prototype.__constructor__&&s.prototype.__constructor__.apply(f,u),f};if(Object.setPrototypeOf(s.prototype,o.prototype),Object.setPrototypeOf(s,o),t){let u=Object.create(n);u.super=o;let f=t(u),A=Array.isArray(f)&&typeof f[0]?.[0]=="string"?f:[];for(let[g,S]of A)g==="constructor"?s.prototype.__constructor__=S:s.prototype[g]=S}return r&&(n[r]=s),s}));p("static",r=>(r=i(r),e=>[[pt,r(e)]]));var ut=140,Ir=47,lt=92,ct=r=>r===lt?2:r&&r!==Ir,mt=r=>r===103||r===105||r===109||r===115||r===117||r===121;w("/",ut,r=>{if(r)return;let e=m.charCodeAt(l);if(e===Ir||e===42||e===43||e===63||e===61)return;let t=k(ct);m.charCodeAt(l)===Ir||T("Unterminated regex"),y();let n=k(mt);try{new RegExp(t,n)}catch(o){T("Invalid regex: "+o.message)}return n?["//",t,n]:["//",t]});p("//",(r,e)=>{let t=new RegExp(r,e||"");return()=>t});var dt=5,ht=59,At=()=>{let r=l;return d()===ht&&y(),d(),R("else")?(y(4),!0):(_(r),!1)};E("if",dt+1,()=>{d();let r=["if",v(),B()];return At()&&r.push(B()),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 Q=5,V=125,Y=59;E("while",Q+1,()=>(d(),["while",v(),B()]));E("do",Q+1,()=>(r=>(d(),y(5),d(),["do",r,v()]))(B()));E("for",Q+1,()=>(d(),R("await")?(y(5),d(),["for await",v(),B()]):["for",v(),B()]));E("break",Q+1,()=>{c.asi&&(c.newline=!1);let r=l;d();let e=m.charCodeAt(l);if(!e||e===V||e===Y||c.newline)return["break"];let t=k(c.id);if(!t)return["break"];d();let n=m.charCodeAt(l);return!n||n===V||n===Y||c.newline?["break",t]:(_(r),["break"])});E("continue",Q+1,()=>{c.asi&&(c.newline=!1);let r=l;d();let e=m.charCodeAt(l);if(!e||e===V||e===Y||c.newline)return["continue"];let t=k(c.id);if(!t)return["continue"];d();let n=m.charCodeAt(l);return!n||n===V||n===Y||c.newline?["continue",t]:(_(r),["continue"])});E("return",Q+1,()=>{c.asi&&(c.newline=!1),d();let r=m.charCodeAt(l);return!r||r===V||r===Y||c.newline?["return"]:["return",h(Q)]});p("while",(r,e)=>(r=i(r),e=i(e),t=>{let n;for(;r(t);)try{n=e(t)}catch(o){if(o===M)break;if(o===K)continue;if(o===P)return o[0];throw o}return n}));p("do",(r,e)=>(r=i(r),e=i(e),t=>{let n;do try{n=r(t)}catch(o){if(o===M)break;if(o===K)continue;if(o===P)return o[0];throw o}while(e(t));return n}));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 u;for(t?.(s);n(s);o?.(s))try{u=e(s)}catch(f){if(f===M)break;if(f===K)continue;if(f===P)return f[0];throw f}return u}}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 yt(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,u=n?null:o[r];for(let f of e(o)){n?D(r,f,o):o[r]=f;try{s=t(o)}catch(A){if(A===M)break;if(A===K)continue;if(A===P)return A[0];throw A}}return n||(o[r]=u),s}},yt=(r,e,t)=>{e=i(e),t=i(t);let n=Array.isArray(r);return o=>{let s,u=n?null:o[r];for(let f in e(o)){n?D(r,f,o):o[r]=f;try{s=t(o)}catch(A){if(A===M)break;if(A===K)continue;if(A===P)return A[0];throw A}}return n||(o[r]=u),s}};p("break",()=>()=>{throw M});p("continue",()=>()=>{throw K});p("return",r=>(r=r!==void 0?i(r):null,e=>{throw P[0]=r?.(e),P}));var Z=5;E("try",Z+1,()=>["try",F()]);Cr("catch",Z+1,r=>(d(),["catch",r,v(),F()]));Cr("finally",Z+1,r=>["finally",r,F()]);E("throw",Z+1,()=>{if(c.asi&&(c.newline=!1),d(),c.newline)throw SyntaxError("Unexpected newline after throw");return["throw",h(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(u){if(u===M||u===K||u===P)throw u;if(e!==null&&t){let f=e in o,A=o[e];o[e]=u;try{s=t(o)}finally{f?o[e]=A:delete o[e]}}else if(e===null)throw u}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,gt=20,ee=58,wt=59,oe=125,ie=(r,e=r.charCodeAt(0),t=C[e])=>C[e]=(n,o,s)=>R(r)&&!n&&(c.reserved=1)||t?.(n,o,s);ie("case");ie("default");var te=r=>{let e=[];for(;(r=d())!==oe&&!R("case")&&!R("default");){if(r===wt){y();continue}e.push(h(ne-.5))||T()}return e.length>1?[";",...e]:e[0]||null},Et=()=>{d()===123||T("Expected {"),y();let r=[];for(;d()!==oe;)if(R("case")){_(l+4),d();let e=h(gt-.5);d()===ee&&y(),r.push(["case",e,te()])}else R("default")?(_(l+7),d()===ee&&y(),r.push(["default",te()])):T("Expected case or default");return y(),r};E("switch",ne+1,()=>(d(),["switch",v(),...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,A]of e)if(o||f===null||f(t)===n)for(o=!0,u=0;u<A.length;u++)try{s=A[u](t)}catch(g){if(g===M)return s;throw g}var u;return s}):t=>r(t)));var se=5;E("debugger",se+1,()=>["debugger"]);E("with",se+1,()=>(d(),["with",v(),B()]));var Rr=5,$=10,pe=42,Ct=C[pe];C[pe]=(r,e)=>r?Ct?.(r,e):(y(),"*");w("from",$+1,r=>r?r[0]!=="="&&r[0]!==","&&(d(),["from",r,h($+1)]):!1);w("as",$+2,r=>r?(d(),["as",r,h($+2)]):!1);E("import",Rr,()=>R(".meta")?(y(5),["import.meta"]):["import",h($)]);E("export",Rr,()=>(d(),["export",h(Rr)]));E("default",$+1,()=>d()!==58&&(d(),["default",h($)]));p("import",()=>()=>{});p("export",()=>()=>{});p("from",(r,e)=>()=>{});p("as",(r,e)=>()=>{});p("default",r=>i(r));var fe=H.asi??H[";"];c.asi=(r,e,t,n,o)=>e<fe&&(n=t(fe-.5))&&(o=n?.[0]===";"?n.slice(1):[n],r?.[0]===";"?(r.push(...o),r):[";",r,...o]);export{lr as access,a as binary,i as compile,m as cur,Qr as default,T as err,h as expr,W as group,St as id,l as idx,j as literal,q as loc,C as lookup,ur as nary,k as next,p as operator,fr as operators,v as parens,c as parse,H as prec,_ as seek,y as skip,d as space,w as token,N as unary,R as word};
4
+ `,""+o}${l}${f}`)},q=(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)},y=(r=1)=>m[u+=r],v=r=>u=r,h=(r=0,e)=>{let t,n,o,s,l;for(e&&c.asi&&(c.newline=!1);(t=c.space())&&(l=c.newline,1)&&t!==e&&(o=((s=E[t])&&s(n,r))??(n&&l&&c.asi?.(n,r,h))??(!n&&k(c.id)));)n=o;return e&&(t==e?u++:I("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},Or=(r=u)=>{for(;m.charCodeAt(r)<=32;)r++;return m.charCodeAt(r)},Tt=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,R=(r,e=r.length)=>m.substr(u,e)===r&&!c.id(m.charCodeAt(u+e)),O=()=>(y(),h(0,41)),E=[],H={},C=(r,e=32,t,n=r.charCodeAt(0),o=r.length,s=E[n],l=r.toUpperCase()!==r,f,a)=>(e=H[r]=!s&&H[r]||e,E[n]=(w,S,U,T=u)=>(f=U,(U?r==U:(o<2||r.charCodeAt(1)===m.charCodeAt(u+1)&&(o<3||m.substr(u,o)==r))&&(!l||!c.id(m.charCodeAt(u+o)))&&(f=U=r))&&S<e&&(u+=o,(a=t(w))?q(a,T):(u=T,f=0,!l&&!s&&I()),a)||s?.(w,S,f))),A=(r,e,t=!1)=>C(r,e,n=>n&&(o=>o&&[r,n,o])(h(e-(t?.5:0)))),N=(r,e,t)=>C(r,e,n=>t?n&&[r,n]:!n&&(n=h(e-.5))&&[r,n]),j=(r,e)=>C(r,200,t=>!t&&[,e]),lr=(r,e,t)=>C(r,e,(n,o)=>(o=h(e-(t?.5:0)),n?.[0]!==r&&(n=[r,n||null]),o?.[0]===r?n.push(...o.slice(1)):n.push(o||null),n)),W=(r,e)=>C(r[0],e,t=>!t&&[r,h(0,r.charCodeAt(1))||null]),ur=(r,e)=>C(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),i=r=>Array.isArray(r)?r[0]==null?(e=>()=>e)(r[1]):fr[r[0]]?.(...r.slice(1))??I(`Unknown operator: ${r[0]}`,r?.loc):r===void 0?()=>{}:e=>e?.[r];var b=46,z=48,rr=57,me=69,de=101,he=43,Ae=45,x=95,ae=110,ye=97,ge=102,we=65,Ee=70,_r=r=>r.indexOf("_")<0?r:r.replaceAll("_",""),cr=r=>{let e=_r(k(t=>t===b&&m.charCodeAt(u+1)!==b||t>=z&&t<=rr||t===x||((t===me||t===de)&&((t=m.charCodeAt(u+1))>=z&&t<=rr||t===he||t===Ae)?2:0)));return m.charCodeAt(u)===ae?(y(),[,BigInt(e)]):(r=+e)!=r?I():[,r]},Ce={2:r=>r===48||r===49||r===x,8:r=>r>=48&&r<=55||r===x,16:r=>r>=z&&r<=rr||r>=ye&&r<=ge||r>=we&&r<=Ee||r===x};c.number=null;E[b]=r=>!r&&m.charCodeAt(u+1)!==b&&cr();for(let r=z;r<=rr;r++)E[r]=e=>e?void 0:cr();E[z]=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 y(2),[,parseInt(_r(k(Ce[n])),n)]}return cr()};var Se=92,vr=34,Pr=39,ke={n:`
5
+ `,r:"\r",t:" ",b:"\b",f:"\f",v:"\v"},Mr=r=>(e,t,n="")=>{if(!(e||!c.string?.[String.fromCharCode(r)]))return y(),k(o=>o-r&&(o===Se?(n+=ke[m[u+1]]||m[u+1],2):(n+=m[u],1))),m[u]===String.fromCharCode(r)?y():I("Bad string"),[,n]};E[vr]=Mr(vr);E[Pr]=Mr(Pr);c.string={'"':!0};var Te=20;"= += -= *= /= %= |= &= ^= >>= <<=".split(" ").map(r=>A(r,Te,!0));var Lr=(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?Lr(r[1],e):(()=>{throw Error("Invalid assignment target")})(),Ur={"=":(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 Ur)p(r,(e,t)=>(t=i(t),Lr(e,(n,o,s)=>Ur[r](n,o,t(s)))));var Ie=30,Re=40,Fr=140;A("!",Fr);N("!",Fr);A("||",Ie);A("&&",Re);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 Ne=50,Oe=60,_e=70,Br=100,ve=140;A("|",Ne);A("&",_e);A("^",Oe);A(">>",Br);A("<<",Br);N("~",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)));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 Gr=80;A("==",Gr);A("!=",Gr);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 Xr=110,mr=120,Dr=140;A("+",Xr);A("-",Xr);A("*",mr);A("/",mr);A("%",mr);N("+",Dr);N("-",Dr);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;C("++",tr,r=>r?["++",r,null]:["++",h(tr-1)]);C("--",tr,r=>r?["--",r,null]:["--",h(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 Pe=5,Me=10,Ue=170;W("()",Ue);lr(",",Me);lr(";",Pe,!0);var Kr=(...r)=>(r=r.map(i),e=>{let t;for(let n of r)t=n(e);return t});p(",",Kr);p(";",Kr);var G=r=>r?.[0]==="_"&&r[1]==="_"||r==="constructor"||r==="prototype",hr=170;ur("[]",hr);A(".",hr);ur("()",hr);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 G(n)?void 0:r(t)[n]}));p(".",(r,e)=>(r=i(r),e=e[0]?e:e[1],G(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 L=r=>typeof r=="string"||Array.isArray(r)&&(r[0]==="."||r[0]==="?."||r[0]==="[]"&&r.length===3||r[0]==="?.[]"||r[0]==="()"&&r.length===2&&L(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)),X=Ar;var Qr=new WeakMap,Le=(r,...e)=>typeof r=="string"?i(c(r)):Qr.get(r)||Qr.set(r,Fe(r,e)).get(r),$r=57344,Fe=(r,e)=>{let t=r.reduce((s,l,f)=>s+(f?String.fromCharCode($r+f-1):"")+l,""),n=c(t),o=s=>{if(typeof s=="string"&&s.length===1){let l=s.charCodeAt(0)-$r,f;if(l>=0&&l<e.length)return f=e[l],Be(f)?f:[,f]}return Array.isArray(s)?s.map(o):s};return i(o(n))},Be=r=>typeof r=="string"||Array.isArray(r)&&(typeof r[0]=="string"||r[0]===void 0),jr=Le;var Ge=32,Xe=c.space;c.comment??={"//":`
6
+ `,"/*":"*/"};var ar;c.space=()=>{ar||(ar=Object.entries(c.comment).map(([o,s])=>[o,s,o.charCodeAt(0)]));for(var r;r=Xe();){for(var e=0,t;t=ar[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)>=Ge;)n++;else{for(;m[n]&&m.substr(n,t[1].length)!==t[1];)n++;m[n]&&(n+=t[1].length)}v(n),r=0;break}if(r)return r}return r};var Hr=80;A("===",Hr);A("!==",Hr);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 De=30;A("??",De);p("??",(r,e)=>(r=i(r),e=i(e),t=>r(t)??e(t)));var Ke=130,Qe=20;A("**",Ke,!0);A("**=",Qe,!0);p("**",(r,e)=>(r=i(r),e=i(e),t=>r(t)**e(t)));var $e=r=>{throw Error(r)};p("**=",(r,e)=>(L(r)||$e("Invalid assignment target"),e=i(e),X(r,(t,n,o)=>t[n]**=e(o))));var Wr=90;A("in",Wr);A("of",Wr);p("in",(r,e)=>(r=i(r),e=i(e),t=>r(t)in e(t)));var je=20,He=100,We=r=>{throw Error(r)};A(">>>",He);A(">>>=",je,!0);p(">>>",(r,e)=>(r=i(r),e=i(e),t=>r(t)>>>e(t)));p(">>>=",(r,e)=>(L(r)||We("Invalid assignment target"),e=i(e),X(r,(t,n,o)=>t[n]>>>=e(o))));var ze=r=>r[0]?.[0]===","?r[0].slice(1):r,D=(r,e,t)=>{if(typeof r=="string"){t[r]=e;return}let[n,...o]=r,s=ze(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 a,w,S;typeof f=="string"?a=w=f:f[0]==="="?(typeof f[1]=="string"?a=w=f[1]:[,a,w]=f[1],S=f[2]):[,a,w]=f,l.push(a);let U=e[a];U===void 0&&S&&(U=i(S)(t)),D(w,U,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 a=f,w;Array.isArray(f)&&f[0]==="="&&([,a,w]=f);let S=e[l++];S===void 0&&w&&(S=i(w)(t)),D(a,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=>D(t,e(n),n)}return L(r)||or("Invalid assignment target"),e=i(e),X(r,(t,n,o)=>t[n]=e(o))});p("||=",(r,e)=>(L(r)||or("Invalid assignment target"),e=i(e),X(r,(t,n,o)=>t[n]||=e(o))));p("&&=",(r,e)=>(L(r)||or("Invalid assignment target"),e=i(e),X(r,(t,n,o)=>t[n]&&=e(o))));p("??=",(r,e)=>(L(r)||or("Invalid assignment target"),e=i(e),X(r,(t,n,o)=>t[n]??=e(o))));var gr=5,zr=123,Jr=125,g=(r,e,t,n=r.charCodeAt(0),o=r.length,s=E[n],l)=>E[n]=(f,a,w,S=u)=>!f&&(w?r==w:(o<2||m.substr(u,o)==r)&&(w=r))&&a<e&&!c.id(m.charCodeAt(u+o))&&Or(u+o)!==58&&(v(u+o),(l=t())?q(l,S):v(S),l)||s?.(f,a,w),wr=(r,e,t,n=r.charCodeAt(0),o=r.length,s=E[n],l)=>E[n]=(f,a,w,S=u)=>f&&(w?r==w:(o<2||m.substr(u,o)==r)&&(w=r))&&a<e&&!c.id(m.charCodeAt(u+o))&&(v(u+o),q(l=t(f),S),l)||s?.(f,a,w),F=()=>(d()===zr||I("Expected {"),y(),h(gr-.5,Jr)||null),B=()=>d()!==zr?h(gr+.5):(y(),h(gr-.5,Jr)||null);j("true",!0);j("false",!1);j("null",null);g("undefined",200,()=>[]);j("NaN",NaN);j("Infinity",1/0);var Er=20;C("?",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=i(r),e=i(e),t=i(t),n=>r(n)?e(n):t(n)));var M=Symbol("break"),K=Symbol("continue"),P=[];var Je=20;A("=>",Je,!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 o=e?.[0]==="{}";return e=i(o?["{",e[1]]:e),(s=null)=>(s=Object.create(s),(...l)=>{r.forEach((f,a)=>s[f]=l[a]),n&&(s[n]=l.slice(t));try{let f=e(s);return o?void 0:f}catch(f){if(f===P)return f[0];throw f}})});var Ve=140;N("...",Ve);p("...",r=>(r=i(r),e=>Object.entries(r(e))));var Vr=170;C("?.",Vr,(r,e)=>{if(!r)return;let t=d();return t===40?(y(),["?.()",r,h(0,41)||null]):t===91?(y(),["?.[]",r,h(0,93)]):(e=h(Vr),e?["?.",r,e]:void 0)});p("?.",(r,e)=>(r=i(r),G(e)?()=>{}:t=>r(t)?.[e]));p("?.[]",(r,e)=>(r=i(r),e=i(e),t=>{let n=e(t);return G(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 G(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),a=s(l);return G(a)?void 0:f?.[a]?.(...t(l))}}if(r[0]==="."){let o=i(r[1]),s=r[2];return G(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),a=s(l);return G(a)?void 0:f?.[a]?.(...t(l))}}let n=i(r);return o=>n(o)?.(...t(o))});var J=140;N("typeof",J);N("void",J);N("delete",J);g("new",J,()=>R(".target")?(y(7),["new.target"]):["new",h(J)]);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"),Cr=20,Ye=40,Yr=41,Zr=123,qr=125,xr=r=>e=>{if(e)return;d();let t=k(c.id);if(!t||(d(),m.charCodeAt(u)!==Ye))return!1;y();let n=h(0,Yr);return d(),m.charCodeAt(u)!==Zr?!1:(y(),[r,t,n,h(0,qr)])};C("get",Cr-1,xr("get"));C("set",Cr-1,xr("set"));C("(",Cr-1,r=>{if(!r||typeof r!="string")return;let e=h(0,Yr)||null;if(d(),m.charCodeAt(u)===Zr)return y(),[":",r,["=>",["()",e],h(0,qr)||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 Ze=20,br=200,qe=r=>r==null||typeof r=="string"||[":",",","...","get","set"].includes(r[0]);W("[]",br);W("{}",br);A(":",Ze-1,!0);p("{}",(r,e)=>{if(e!==void 0)return;if(!qe(r))return i(["{",r]);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,a]=l;s[f]={...s[f],...a,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=>(r=r?i(r):()=>{},e=>r(Object.create(e))));p(":",(r,e)=>(e=i(e),Array.isArray(r)?(r=i(r),t=>[[r(t),e(t)]]):t=>[[r,e(t)]]));var xe=170,sr=96,be=36,rt=123,et=92,tt={n:`
8
+ `,r:"\r",t:" ",b:"\b",f:"\f",v:"\v"},re=()=>{let r=[];for(let e="",t;(t=m.charCodeAt(u))!==sr;)t?t===et?(y(),e+=tt[m[u]]||m[u],y()):t===be&&m.charCodeAt(u+1)===rt?(e&&r.push([,e]),e="",y(2),r.push(h(0,125))):(e+=m[u],y(),t=m.charCodeAt(u),t===sr&&e&&r.push([,e])):I("Unterminated template");return y(),r},nt=E[sr];E[sr]=(r,e)=>r&&e<xe?c.asi&&c.newline?void 0:(y(),["``",r,...re()]):r?nt?.(r,e):(y(),(t=>t.length<2&&t[0]?.[0]===void 0?t[0]||[,""]:["`",...t])(re()));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)))});c.string["'"]=!0;c.number={"0x":16,"0b":2,"0o":8};var Sr=5,ot=10,it=20,ee=r=>{let e=h(ot-1);return e?.[0]==="in"||e?.[0]==="of"?[e[0],[r,e[1]],e[2]]:e?.[0]===","?[r,...e.slice(1)]:[r,e]};g("let",Sr+1,()=>ee("let"));g("const",Sr+1,()=>ee("const"));g("var",Sr,()=>(d(),["var",h(it)]));var te=(...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=>D(t,o(s),s)}return i(e)}),e=>{for(let t of r)t(e)});p("let",te);p("const",te);p("var",r=>typeof r=="string"?e=>{e[r]=void 0}:()=>{});var st=200;g("function",st,()=>{d();let r=!1;m[u]==="*"&&(r=!0,y(),d());let e=k(c.id);return e&&d(),r?["function*",e,O()||null,F()]:["function",e,O()||null,F()]});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 a=(...w)=>{let S={};n.forEach((T,_)=>S[T]=w[_]),o&&(S[o]=w.slice(s));let U=new Proxy(S,{get:(T,_)=>_ in T?T[_]:f[_],set:(T,_,ce)=>((_ in T?T:f)[_]=ce,!0),has:(T,_)=>_ in T||_ in f});try{return t(U)}catch(T){if(T===P)return T[0];throw T}};return r&&(f[r]=a),a}});p("function*",(r,e,t)=>{throw Error("Generator functions are not supported in evaluation")});var pr=140,kr=20;N("await",pr);g("yield",pr,()=>(d(),m[u]==="*"?(y(),d(),["yield*",h(kr)]):["yield",h(kr)]));g("async",pr,()=>{if(d(),R("function"))return["async",h(pr)];let r=h(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 Tr=200,pt=140,ft=90,lt=Symbol("static");N("static",pt);A("instanceof",ft);C("#",Tr,r=>{if(r)return;let e=k(c.id);return e?"#"+e:void 0});g("class",Tr,()=>{d();let r=k(c.id)||null;if(r==="extends")r=null,d();else{if(d(),!R("extends"))return["class",r,null,F()];y(7),d()}return["class",r,h(Tr),F()]});var ut=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 ut("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),a=Array.isArray(f)&&typeof f[0]?.[0]=="string"?f:[];for(let[w,S]of a)w==="constructor"?s.prototype.__constructor__=S:s.prototype[w]=S}return r&&(n[r]=s),s}));p("static",r=>(r=i(r),e=>[[lt,r(e)]]));var ct=140,Ir=47,mt=92,dt=r=>r===mt?2:r&&r!==Ir,ht=r=>r===103||r===105||r===109||r===115||r===117||r===121;C("/",ct,r=>{if(r)return;let e=m.charCodeAt(u);if(e===Ir||e===42||e===43||e===63||e===61)return;let t=k(dt);m.charCodeAt(u)===Ir||I("Unterminated regex"),y();let n=k(ht);try{new RegExp(t,n)}catch(o){I("Invalid regex: "+o.message)}return n?["//",t,n]:["//",t]});p("//",(r,e)=>{let t=new RegExp(r,e||"");return()=>t});var At=5,at=59,yt=()=>{let r=u;return d()===at&&y(),d(),R("else")?(y(4),!0):(v(r),!1)};g("if",At+1,()=>{d();let r=["if",O(),B()];return yt()&&r.push(B()),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 Q=5,V=125,Y=59;g("while",Q+1,()=>(d(),["while",O(),B()]));g("do",Q+1,()=>(r=>(d(),y(5),d(),["do",r,O()]))(B()));g("for",Q+1,()=>(d(),R("await")?(y(5),d(),["for await",O(),B()]):["for",O(),B()]));g("break",Q+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]:(v(r),["break"])});g("continue",Q+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]:(v(r),["continue"])});g("return",Q+1,()=>{c.asi&&(c.newline=!1);let r=d();return!r||r===V||r===Y||c.newline?["return"]:["return",h(Q)]});p("while",(r,e)=>(r=i(r),e=i(e),t=>{let n;for(;r(t);)try{n=e(t)}catch(o){if(o===M)break;if(o===K)continue;if(o===P)return o[0];throw o}return n}));p("do",(r,e)=>(r=i(r),e=i(e),t=>{let n;do try{n=r(t)}catch(o){if(o===M)break;if(o===K)continue;if(o===P)return o[0];throw o}while(e(t));return n}));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;for(t?.(s);n(s);o?.(s))try{l=e(s)}catch(f){if(f===M)break;if(f===K)continue;if(f===P)return f[0];throw f}return l}}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 wt(n,o,e);if(t==="of")return gt(n,o,e)}});var gt=(r,e,t)=>{e=i(e),t=i(t);let n=Array.isArray(r);return o=>{let s,l=n?null:o[r];for(let f of e(o)){n?D(r,f,o):o[r]=f;try{s=t(o)}catch(a){if(a===M)break;if(a===K)continue;if(a===P)return a[0];throw a}}return n||(o[r]=l),s}},wt=(r,e,t)=>{e=i(e),t=i(t);let n=Array.isArray(r);return o=>{let s,l=n?null:o[r];for(let f in e(o)){n?D(r,f,o):o[r]=f;try{s=t(o)}catch(a){if(a===M)break;if(a===K)continue;if(a===P)return a[0];throw a}}return n||(o[r]=l),s}};p("break",()=>()=>{throw M});p("continue",()=>()=>{throw K});p("return",r=>(r=r!==void 0?i(r):null,e=>{throw P[0]=r?.(e),P}));var Z=5;g("try",Z+1,()=>["try",F()]);wr("catch",Z+1,r=>(d(),["catch",r,O(),F()]));wr("finally",Z+1,r=>["finally",r,F()]);g("throw",Z+1,()=>{if(c.asi&&(c.newline=!1),d(),c.newline)throw SyntaxError("Unexpected newline after throw");return["throw",h(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===M||l===K||l===P)throw l;if(e!==null&&t){let f=e in o,a=o[e];o[e]=l;try{s=t(o)}finally{f?o[e]=a: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 ie=5,Et=20,ne=58,Ct=59,se=125,Rr=0,pe=(r,e=r.length,t=r.charCodeAt(0),n=E[t])=>E[t]=(o,s,l)=>R(r)&&!o&&Rr||n?.(o,s,l);pe("case");pe("default");var oe=r=>{let e=[];for(;(r=d())!==se&&!R("case")&&!R("default");){if(r===Ct){y();continue}e.push(h(ie-.5))||I()}return e.length>1?[";",...e]:e[0]||null},St=()=>{d()===123||I("Expected {"),y(),Rr++;let r=[];try{for(;d()!==se;)if(R("case")){v(u+4),d();let e=h(Et-.5);d()===ne&&y(),r.push(["case",e,oe()])}else R("default")?(v(u+7),d()===ne&&y(),r.push(["default",oe()])):I("Expected case or default")}finally{Rr--}return y(),r};g("switch",ie+1,()=>d()===40&&["switch",O(),...St()]);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,a]of e)if(o||f===null||f(t)===n)for(o=!0,l=0;l<a.length;l++)try{s=a[l](t)}catch(w){if(w===M)return s;throw w}var l;return s}):t=>r(t)));var fe=5;g("debugger",fe+1,()=>["debugger"]);g("with",fe+1,()=>(d(),["with",O(),B()]));var Nr=5,$=10,le=42,kt=E[le];E[le]=(r,e)=>r?kt?.(r,e):(y(),"*");C("from",$+1,r=>r?r[0]!=="="&&r[0]!==","&&(d(),["from",r,h($+1)]):!1);C("as",$+2,r=>r?(d(),["as",r,h($+2)]):!1);g("import",Nr,()=>R(".meta")?(y(5),["import.meta"]):["import",h($)]);g("export",Nr,()=>(d(),["export",h(Nr)]));g("default",$+1,()=>d()!==58&&(d(),["default",h($)]));p("import",()=>()=>{});p("export",()=>()=>{});p("from",(r,e)=>()=>{});p("as",(r,e)=>()=>{});p("default",r=>i(r));var ue=H.asi??H[";"];c.asi=(r,e,t,n,o)=>e<ue&&(n=t(ue-.5))&&(o=n?.[0]===";"?n.slice(1):[n],r?.[0]===";"?(r.push(...o),r):[";",r,...o]);export{ur as access,A as binary,i as compile,m as cur,jr as default,I as err,h as expr,W as group,Tt as id,u as idx,j as literal,q as loc,E as lookup,lr as nary,k as next,p as operator,fr as operators,O as parens,c as parse,Or as peek,H as prec,v as seek,y as skip,d as space,C as token,N as unary,R as word};
package/justin.min.js CHANGED
@@ -1,8 +1,8 @@
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
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}
3
3
  ${c[e-41]!==`
4
- `,""+i}${f}${l}`)},Lr=(r,e=m)=>(Array.isArray(r)&&(r.loc=e),r),k=(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,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))??(o&&l&&d.asi?.(o,r,A))??(!o&&!d.reserved&&k(d.id)));)o=i,d.reserved=0;return d.reserved=f,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},ve=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],f=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))&&(!f||!d.id(c.charCodeAt(m+i)))&&(l=R=r))&&I<e&&(m+=i,(g=t(E))?Lr(g,L):(m=L,l=0,f&&g!==!1&&(d.reserved=1),!f&&!p&&w()),g)||p?.(E,I,l))),u=(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(k(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(k(Qr[o])),o)]}return V()};var jr=92,pr=34,lr=39,Hr={n:`
5
- `,r:"\r",t:" ",b:"\b",f:"\f",v:"\v"},fr=r=>(e,t,o="")=>{if(!(e||!d.string?.[String.fromCharCode(r)]))return h(),k(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]=fr(pr);C[lr]=fr(lr);d.string={'"':!0};var Kr=20;"= += -= *= /= %= |= &= ^= >>= <<=".split(" ").map(r=>u(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")})(),ur={"=":(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 ur)s(r,(e,t)=>(t=n(t),mr(e,(o,i,p)=>ur[r](o,i,t(p)))));var ar=30,Wr=40,cr=140;u("!",cr);S("!",cr);u("||",ar);u("&&",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;u("|",zr);u("&",Vr);u("^",Jr);u(">>",dr);u("<<",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;u("<",G);u(">",G);u("<=",G);u(">=",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;u("==",Ar);u("!=",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;u("+",gr);u("-",gr);u("*",Y);u("/",Y);u("%",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);u(".",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 v=r=>typeof r=="string"||Array.isArray(r)&&(r[0]==="."||r[0]==="?."||r[0]==="[]"&&r.length===3||r[0]==="?.[]"||r[0]==="()"&&r.length===2&&v(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,f,l)=>p+(l?String.fromCharCode(Sr+l-1):"")+f,""),o=d(t),i=p=>{if(typeof p=="string"&&p.length===1){let f=p.charCodeAt(0)-Sr,l;if(f>=0&&f<e.length)return l=e[f],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;u("===",Er);u("!==",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;u("??",ie);s("??",(r,e)=>(r=n(r),e=n(e),t=>r(t)??e(t)));var se=130,pe=20;u("**",se,!0);u("**=",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)=>(v(r)||le("Invalid assignment target"),e=n(e),O(r,(t,o,i)=>t[o]**=e(i))));var Ir=90;u("in",Ir);u("of",Ir);s("in",(r,e)=>(r=n(r),e=n(e),t=>r(t)in e(t)));var fe=20,ue=100,me=r=>{throw Error(r)};u(">>>",ue);u(">>>=",fe,!0);s(">>>",(r,e)=>(r=n(r),e=n(e),t=>r(t)>>>e(t)));s(">>>=",(r,e)=>(v(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 f=[];for(let l of p){if(Array.isArray(l)&&l[0]==="..."){let L={};for(let a in e)f.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,f.push(g);let R=e[g];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 g=l,E;Array.isArray(l)&&l[0]==="="&&([,g,E]=l);let I=e[f++];I===void 0&&E&&(I=n(E)(t)),Q(g,I,t)}}};var rr=20,j=r=>{throw Error(r)};u("||=",rr,!0);u("&&=",rr,!0);u("??=",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 v(r)||j("Invalid assignment target"),e=n(e),O(r,(t,o,i)=>t[o]=e(i))});s("||=",(r,e)=>(v(r)||j("Invalid assignment target"),e=n(e),O(r,(t,o,i)=>t[o]||=e(i))));s("&&=",(r,e)=>(v(r)||j("Invalid assignment target"),e=n(e),O(r,(t,o,i)=>t[o]&&=e(i))));s("??=",(r,e)=>(v(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))&&k(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=[];var de=20;u("=>",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),(...f)=>{r.forEach((l,g)=>p[l]=f[g]),o&&(p[o]=f.slice(t));try{let l=e(p);return i?void 0:l}catch(l){if(l===wr)return l[0];throw l}})});var Ae=140;S("...",Ae);s("...",r=>(r=n(r),e=>Object.entries(r(e))));var kr=170;y("?.",kr,(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(kr),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),g=p(f);return N(g)?void 0:l?.[g]?.(...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),g=p(f);return N(g)?void 0:l?.[g]?.(...t(f))}}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(f=>f(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,vr=41,Nr=123,Or=125,Rr=r=>e=>{if(e)return;P();let t=k(d.id);if(!t||(P(),c.charCodeAt(m)!==ge))return!1;h();let o=A(0,vr);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,vr)||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);u(":",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 f of t.flatMap(l=>l(o)))if(f[0]===H){let[,l,g]=f;p[l]={...p[l],...g,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=>(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},ke=C[K];C[K]=(r,e)=>r&&e<Ce?d.asi&&d.newline?void 0:(h(),["``",r,...Tr()]):r?ke?.(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(f=>f(p)))});d.string["'"]=!0;d.number={"0x":16,"0b":2,"0o":8};export{J as access,u as binary,n as compile,c as cur,te as default,w as err,A as expr,U as group,ve as id,m as idx,T as literal,Lr as loc,C as lookup,z as nary,k 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};
4
+ `,""+i}${f}${l}`)},V=(r,e=m)=>(Array.isArray(r)&&(r.loc=e),r),I=(r,e=m,t)=>{for(;t=r(c.charCodeAt(m));)m+=t;return c.slice(e,m)},h=(r=1)=>c[m+=r],U=r=>m=r,A=(r=0,e)=>{let t,o,i,p,f;for(e&&d.asi&&(d.newline=!1);(t=d.space())&&(f=d.newline,1)&&t!==e&&(i=((p=S[t])&&p(o,r))??(o&&f&&d.asi?.(o,r,A))??(!o&&I(d.id)));)o=i;return e&&(t==e?m++:w("Unclosed "+String.fromCharCode(e-(e>42?2:1)))),o},v=d.space=(r,e=m)=>{for(;(r=c.charCodeAt(m))<=32;)d.asi&&r===10&&(d.newline=!0),m++;return r},pr=(r=m)=>{for(;c.charCodeAt(r)<=32;)r++;return c.charCodeAt(r)},Oe=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,lr=(r,e=r.length)=>c.substr(m,e)===r&&!d.id(c.charCodeAt(m+e)),Te=()=>(h(),A(0,41)),S=[],sr={},C=(r,e=32,t,o=r.charCodeAt(0),i=r.length,p=S[o],f=r.toUpperCase()!==r,l,g)=>(e=sr[r]=!p&&sr[r]||e,S[o]=(y,E,T,L=m)=>(l=T,(T?r==T:(i<2||r.charCodeAt(1)===c.charCodeAt(m+1)&&(i<3||c.substr(m,i)==r))&&(!f||!d.id(c.charCodeAt(m+i)))&&(l=T=r))&&E<e&&(m+=i,(g=t(y))?V(g,L):(m=L,l=0,!f&&!p&&w()),g)||p?.(y,E,l))),u=(r,e,t=!1)=>C(r,e,o=>o&&(i=>i&&[r,o,i])(A(e-(t?.5:0)))),k=(r,e,t)=>C(r,e,o=>t?o&&[r,o]:!o&&(o=A(e-.5))&&[r,o]),P=(r,e)=>C(r,200,t=>!t&&[,e]),Y=(r,e,t)=>C(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)=>C(r[0],e,t=>!t&&[r,A(0,r.charCodeAt(1))||null]),Z=(r,e)=>C(r[0],e,t=>t&&[r,t,A(0,r.charCodeAt(1))||null]),J={},s=(r,e,t=J[r])=>J[r]=(...o)=>e(...o)||t?.(...o),n=r=>Array.isArray(r)?r[0]==null?(e=>()=>e)(r[1]):J[r[0]]?.(...r.slice(1))??w(`Unknown operator: ${r[0]}`,r?.loc):r===void 0?()=>{}:e=>e?.[r];var F=46,B=48,G=57,Br=69,Mr=101,Dr=43,Fr=45,D=95,Gr=110,Xr=97,$r=102,ar=65,Qr=70,fr=r=>r.indexOf("_")<0?r:r.replaceAll("_",""),q=r=>{let e=fr(I(t=>t===F&&c.charCodeAt(m+1)!==F||t>=B&&t<=G||t===D||((t===Br||t===Mr)&&((t=c.charCodeAt(m+1))>=B&&t<=G||t===Dr||t===Fr)?2:0)));return c.charCodeAt(m)===Gr?(h(),[,BigInt(e)]):(r=+e)!=r?w():[,r]},jr={2:r=>r===48||r===49||r===D,8:r=>r>=48&&r<=55||r===D,16:r=>r>=B&&r<=G||r>=Xr&&r<=$r||r>=ar&&r<=Qr||r===D};d.number=null;S[F]=r=>!r&&c.charCodeAt(m+1)!==F&&q();for(let r=B;r<=G;r++)S[r]=e=>e?void 0:q();S[B]=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(fr(I(jr[o])),o)]}return q()};var Hr=92,mr=34,ur=39,Kr={n:`
5
+ `,r:"\r",t:" ",b:"\b",f:"\f",v:"\v"},cr=r=>(e,t,o="")=>{if(!(e||!d.string?.[String.fromCharCode(r)]))return h(),I(i=>i-r&&(i===Hr?(o+=Kr[c[m+1]]||c[m+1],2):(o+=c[m],1))),c[m]===String.fromCharCode(r)?h():w("Bad string"),[,o]};S[mr]=cr(mr);S[ur]=cr(ur);d.string={'"':!0};var Wr=20;"= += -= *= /= %= |= &= ^= >>= <<=".split(" ").map(r=>u(r,Wr,!0));var Ar=(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?Ar(r[1],e):(()=>{throw Error("Invalid assignment target")})(),dr={"=":(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 dr)s(r,(e,t)=>(t=n(t),Ar(e,(o,i,p)=>dr[r](o,i,t(p)))));var zr=30,Jr=40,gr=140;u("!",gr);k("!",gr);u("||",zr);u("&&",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)));var Vr=50,Yr=60,Zr=70,hr=100,qr=140;u("|",Vr);u("&",Zr);u("^",Yr);u(">>",hr);u("<<",hr);k("~",qr);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 X=90;u("<",X);u(">",X);u("<=",X);u(">=",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)));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 yr=80;u("==",yr);u("!=",yr);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 Cr=110,x=120,Sr=140;u("+",Cr);u("-",Cr);u("*",x);u("/",x);u("%",x);k("+",Sr);k("-",Sr);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 $=150;C("++",$,r=>r?["++",r,null]:["++",A($-1)]);C("--",$,r=>r?["--",r,null]:["--",A($-1)]);var b=(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?b(r[1],e):(()=>{throw Error("Invalid increment target")})();s("++",(r,e)=>b(r,e===null?(t,o)=>t[o]++:(t,o)=>++t[o]));s("--",(r,e)=>b(r,e===null?(t,o)=>t[o]--:(t,o)=>--t[o]));var xr=5,br=10,re=170;_("()",re);Y(",",br);Y(";",xr,!0);var Er=(...r)=>(r=r.map(n),e=>{let t;for(let o of r)t=o(e);return t});s(",",Er);s(";",Er);var R=r=>r?.[0]==="_"&&r[1]==="_"||r==="constructor"||r==="prototype",rr=170;Z("[]",rr);u(".",rr);Z("()",rr);var a=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&&a("Missing index"),r=n(r),e=n(e),t=>{let o=e(t);return R(o)?void 0:r(t)[o]}));s(".",(r,e)=>(r=n(r),e=e[0]?e:e[1],R(e)?()=>{}:t=>r(t)[e]));s("()",(r,e)=>{if(e===void 0)return r==null?a("Empty ()"):n(r);let t=i=>i?.[0]===","&&i.slice(1).some(p=>p==null||t(p));t(e)&&a("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,f)=>i[p](...o(f)))});var N=r=>typeof r=="string"||Array.isArray(r)&&(r[0]==="."||r[0]==="?."||r[0]==="[]"&&r.length===3||r[0]==="?.[]"||r[0]==="()"&&r.length===2&&N(r[1])||r[0]==="{}"),er=(r,e,t,o)=>r==null?a("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)),O=er;var kr=new WeakMap,ee=(r,...e)=>typeof r=="string"?n(d(r)):kr.get(r)||kr.set(r,te(r,e)).get(r),wr=57344,te=(r,e)=>{let t=r.reduce((p,f,l)=>p+(l?String.fromCharCode(wr+l-1):"")+f,""),o=d(t),i=p=>{if(typeof p=="string"&&p.length===1){let f=p.charCodeAt(0)-wr,l;if(f>=0&&f<e.length)return l=e[f],oe(l)?l:[,l]}return Array.isArray(p)?p.map(i):p};return n(i(o))},oe=r=>typeof r=="string"||Array.isArray(r)&&(typeof r[0]=="string"||r[0]===void 0),ne=ee;var ie=32,se=d.space;d.comment??={"//":`
6
+ `,"/*":"*/"};var tr;d.space=()=>{tr||(tr=Object.entries(d.comment).map(([i,p])=>[i,p,i.charCodeAt(0)]));for(var r;r=se();){for(var e=0,t;t=tr[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)>=ie;)o++;else{for(;c[o]&&c.substr(o,t[1].length)!==t[1];)o++;c[o]&&(o+=t[1].length)}U(o),r=0;break}if(r)return r}return r};var Ir=80;u("===",Ir);u("!==",Ir);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 pe=30;u("??",pe);s("??",(r,e)=>(r=n(r),e=n(e),t=>r(t)??e(t)));var le=130,fe=20;u("**",le,!0);u("**=",fe,!0);s("**",(r,e)=>(r=n(r),e=n(e),t=>r(t)**e(t)));var me=r=>{throw Error(r)};s("**=",(r,e)=>(N(r)||me("Invalid assignment target"),e=n(e),O(r,(t,o,i)=>t[o]**=e(i))));var Nr=90;u("in",Nr);u("of",Nr);s("in",(r,e)=>(r=n(r),e=n(e),t=>r(t)in e(t)));var ue=20,ce=100,de=r=>{throw Error(r)};u(">>>",ce);u(">>>=",ue,!0);s(">>>",(r,e)=>(r=n(r),e=n(e),t=>r(t)>>>e(t)));s(">>>=",(r,e)=>(N(r)||de("Invalid assignment target"),e=n(e),O(r,(t,o,i)=>t[o]>>>=e(i))));var Ae=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=Ae(i);if(o==="{}"){let f=[];for(let l of p){if(Array.isArray(l)&&l[0]==="..."){let L={};for(let z in e)f.includes(z)||(L[z]=e[z]);t[l[1]]=L;break}let g,y,E;typeof l=="string"?g=y=l:l[0]==="="?(typeof l[1]=="string"?g=y=l[1]:[,g,y]=l[1],E=l[2]):[,g,y]=l,f.push(g);let T=e[g];T===void 0&&E&&(T=n(E)(t)),Q(y,T,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 g=l,y;Array.isArray(l)&&l[0]==="="&&([,g,y]=l);let E=e[f++];E===void 0&&y&&(E=n(y)(t)),Q(g,E,t)}}};var or=20,j=r=>{throw Error(r)};u("||=",or,!0);u("&&=",or,!0);u("??=",or,!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 N(r)||j("Invalid assignment target"),e=n(e),O(r,(t,o,i)=>t[o]=e(i))});s("||=",(r,e)=>(N(r)||j("Invalid assignment target"),e=n(e),O(r,(t,o,i)=>t[o]||=e(i))));s("&&=",(r,e)=>(N(r)||j("Invalid assignment target"),e=n(e),O(r,(t,o,i)=>t[o]&&=e(i))));s("??=",(r,e)=>(N(r)||j("Invalid assignment target"),e=n(e),O(r,(t,o,i)=>t[o]??=e(i))));var H=(r,e,t,o=r.charCodeAt(0),i=r.length,p=S[o],f)=>S[o]=(l,g,y,E=m)=>!l&&(y?r==y:(i<2||c.substr(m,i)==r)&&(y=r))&&g<e&&!d.id(c.charCodeAt(m+i))&&pr(m+i)!==58&&(U(m+i),(f=t())?V(f,E):U(E),f)||p?.(l,g,y);P("true",!0);P("false",!1);P("null",null);H("undefined",200,()=>[]);P("NaN",NaN);P("Infinity",1/0);var nr=20;C("?",nr,(r,e,t)=>r&&(e=A(nr-1))&&I(o=>o===58)&&(t=A(nr-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 Rr=[];var ge=20;u("=>",ge,!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),(...f)=>{r.forEach((l,g)=>p[l]=f[g]),o&&(p[o]=f.slice(t));try{let l=e(p);return i?void 0:l}catch(l){if(l===Rr)return l[0];throw l}})});var he=140;k("...",he);s("...",r=>(r=n(r),e=>Object.entries(r(e))));var Or=170;C("?.",Or,(r,e)=>{if(!r)return;let t=v();return t===40?(h(),["?.()",r,A(0,41)||null]):t===91?(h(),["?.[]",r,A(0,93)]):(e=A(Or),e?["?.",r,e]:void 0)});s("?.",(r,e)=>(r=n(r),R(e)?()=>{}:t=>r(t)?.[e]));s("?.[]",(r,e)=>(r=n(r),e=n(e),t=>{let o=e(t);return R(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 R(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),g=p(f);return R(g)?void 0:l?.[g]?.(...t(f))}}if(r[0]==="."){let i=n(r[1]),p=r[2];return R(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),g=p(f);return R(g)?void 0:l?.[g]?.(...t(f))}}let o=n(r);return i=>o(i)?.(...t(i))});var M=140;k("typeof",M);k("void",M);k("delete",M);H("new",M,()=>lr(".target")?(h(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 K=Symbol("accessor"),ir=20,ye=40,Tr=41,vr=123,Pr=125,Lr=r=>e=>{if(e)return;v();let t=I(d.id);if(!t||(v(),c.charCodeAt(m)!==ye))return!1;h();let o=A(0,Tr);return v(),c.charCodeAt(m)!==vr?!1:(h(),[r,t,o,A(0,Pr)])};C("get",ir-1,Lr("get"));C("set",ir-1,Lr("set"));C("(",ir-1,r=>{if(!r||typeof r!="string")return;let e=A(0,Tr)||null;if(v(),c.charCodeAt(m)===vr)return h(),[":",r,["=>",["()",e],A(0,Pr)||null]]});s("get",(r,e)=>(e=e?n(e):()=>{},t=>[[K,r,{get:function(){let o=Object.create(t||{});return o.this=this,e(o)}}]]));s("set",(r,e,t)=>(t=t?n(t):()=>{},o=>[[K,r,{set:function(i){let p=Object.create(o||{});p.this=this,p[e]=i,t(p)}}]]));var Ce=20,Ur=200,Se=r=>r==null||typeof r=="string"||[":",",","...","get","set"].includes(r[0]);_("[]",Ur);_("{}",Ur);u(":",Ce-1,!0);s("{}",(r,e)=>{if(e!==void 0)return;if(!Se(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 f of t.flatMap(l=>l(o)))if(f[0]===K){let[,l,g]=f;p[l]={...p[l],...g,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=>(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 Ee=170,W=96,ke=36,we=123,Ie=92,Ne={n:`
8
+ `,r:"\r",t:" ",b:"\b",f:"\f",v:"\v"},_r=()=>{let r=[];for(let e="",t;(t=c.charCodeAt(m))!==W;)t?t===Ie?(h(),e+=Ne[c[m]]||c[m],h()):t===ke&&c.charCodeAt(m+1)===we?(e&&r.push([,e]),e="",h(2),r.push(A(0,125))):(e+=c[m],h(),t=c.charCodeAt(m),t===W&&e&&r.push([,e])):w("Unterminated template");return h(),r},Re=S[W];S[W]=(r,e)=>r&&e<Ee?d.asi&&d.newline?void 0:(h(),["``",r,..._r()]):r?Re?.(r,e):(h(),(t=>t.length<2&&t[0]?.[0]===void 0?t[0]||[,""]:["`",...t])(_r()));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{Z as access,u as binary,n as compile,c as cur,ne as default,w as err,A as expr,_ as group,Oe as id,m as idx,P as literal,V as loc,S as lookup,Y as nary,I as next,s as operator,J as operators,Te as parens,d as parse,pr as peek,sr as prec,U as seek,h as skip,v as space,C as token,k as unary,lr as word};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "subscript",
3
- "version": "10.1.6",
3
+ "version": "10.1.7",
4
4
  "description": "Tiny expression parser & evaluator",
5
5
  "main": "subscript.js",
6
6
  "module": "subscript.js",
package/parse.js CHANGED
@@ -37,9 +37,8 @@ export let idx, cur,
37
37
 
38
38
  // a + b - c
39
39
  expr = (p = 0, end) => {
40
- let cc, token, newNode, fn, prevReserved = parse.reserved, nl;
40
+ let cc, token, newNode, fn, nl;
41
41
  if (end) parse.asi && (parse.newline = false);
42
- parse.reserved = 0;
43
42
 
44
43
  while (
45
44
  (cc = parse.space()) &&
@@ -48,10 +47,9 @@ export let idx, cur,
48
47
  (newNode =
49
48
  ((fn = lookup[cc]) && fn(token, p)) ??
50
49
  (token && nl && parse.asi?.(token, p, expr)) ??
51
- (!token && !parse.reserved && next(parse.id))
50
+ (!token && next(parse.id))
52
51
  )
53
- ) token = newNode, parse.reserved = 0;
54
- parse.reserved = prevReserved;
52
+ ) token = newNode;
55
53
 
56
54
  if (end) cc == end ? idx++ : err('Unclosed ' + String.fromCharCode(end - (end > 42 ? 2 : 1)));
57
55
 
@@ -67,6 +65,9 @@ export let idx, cur,
67
65
  return cc
68
66
  },
69
67
 
68
+ // peek at next non-space char without modifying idx
69
+ peek = (from = idx) => { while (cur.charCodeAt(from) <= SPACE) from++; return cur.charCodeAt(from); },
70
+
70
71
  // is char an id?
71
72
  id = parse.id = c =>
72
73
  (c >= 48 && c <= 57) ||
@@ -87,7 +88,8 @@ export let idx, cur,
87
88
  // precedence registry - features register via token(), others can read
88
89
  prec = {},
89
90
 
90
- // create operator checker/mapper
91
+ // create operator checker/mapper - for symbols and special cases
92
+ // For prefix word operators, prefer keyword() from block.js
91
93
  token = (
92
94
  op,
93
95
  p = SPACE,
@@ -104,17 +106,17 @@ export let idx, cur,
104
106
  (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)
105
107
  ) &&
106
108
  curPrec < p &&
107
- (idx += l, (r = map(a)) ? loc(r, from) : (idx = from, matched = 0, word && r !== false && (parse.reserved = 1), !word && !prev && err()), r)
109
+ (idx += l, (r = map(a)) ? loc(r, from) : (idx = from, matched = 0, !word && !prev && err()), r)
108
110
  ) ||
109
111
  prev?.(a, curPrec, matched)),
110
112
 
111
- binary = (op, p, right = false) => token(op, p, (a, b) => a && (b = expr(p - (right ? .5 : 0))) && [op, a, b]),
113
+ binary = (op, p, right = false) => token(op, p, a => a && (b => b && [op, a, b])(expr(p - (right ? .5 : 0)))),
112
114
 
113
115
  unary = (op, p, post) => token(op, p, a => post ? (a && [op, a]) : (!a && (a = expr(p - .5)) && [op, a])),
114
116
 
115
117
  literal = (op, val) => token(op, 200, a => !a && [, val]),
116
118
 
117
- nary = (op, p, right) => {
119
+ nary = (op, p, right) =>
118
120
  token(op, p,
119
121
  (a, b) => (
120
122
  b = expr(p - (right ? .5 : 0)),
@@ -124,7 +126,7 @@ export let idx, cur,
124
126
  a
125
127
  ))
126
128
  )
127
- },
129
+ ,
128
130
 
129
131
  group = (op, p) => token(op[0], p, a => (!a && [op, expr(0, op.charCodeAt(1)) || null])),
130
132
 
package/subscript.min.js CHANGED
@@ -1,5 +1,5 @@
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
- ${f[e-41]!==`
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};
1
+ var l,u,f=r=>(l=0,u=r,f.newline=!1,r=A(),u[l]?g():r||""),g=(r="Unexpected token",e=l,t=u.slice(0,e).split(`
2
+ `),o=t.pop(),i=u.slice(Math.max(0,e-40),e),p="\u032D",c=(u[e]||" ")+p,d=u.slice(e+1,e+20))=>{throw SyntaxError(`${r} at ${t.length+1}:${o.length+1}
3
+ ${u[e-41]!==`
4
+ `,""+i}${c}${d}`)},nr=(r,e=l)=>(Array.isArray(r)&&(r.loc=e),r),E=(r,e=l,t)=>{for(;t=r(u.charCodeAt(l));)l+=t;return u.slice(e,l)},y=(r=1)=>u[l+=r],Or=r=>l=r,A=(r=0,e)=>{let t,o,i,p,c;for(e&&f.asi&&(f.newline=!1);(t=f.space())&&(c=f.newline,1)&&t!==e&&(i=((p=h[t])&&p(o,r))??(o&&c&&f.asi?.(o,r,A))??(!o&&E(f.id)));)o=i;return e&&(t==e?l++:g("Unclosed "+String.fromCharCode(e-(e>42?2:1)))),o},Lr=f.space=(r,e=l)=>{for(;(r=u.charCodeAt(l))<=32;)f.asi&&r===10&&(f.newline=!0),l++;return r},Nr=(r=l)=>{for(;u.charCodeAt(r)<=32;)r++;return u.charCodeAt(r)},$r=f.id=r=>r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122||r==36||r==95||r>=192&&r!=215&&r!=247,kr=(r,e=r.length)=>u.substr(l,e)===r&&!f.id(u.charCodeAt(l+e)),Fr=()=>(y(),A(0,41)),h=[],v={},C=(r,e=32,t,o=r.charCodeAt(0),i=r.length,p=h[o],c=r.toUpperCase()!==r,d,M)=>(e=v[r]=!p&&v[r]||e,h[o]=(Q,B,_,H=l)=>(d=_,(_?r==_:(i<2||r.charCodeAt(1)===u.charCodeAt(l+1)&&(i<3||u.substr(l,i)==r))&&(!c||!f.id(u.charCodeAt(l+i)))&&(d=_=r))&&B<e&&(l+=i,(M=t(Q))?nr(M,H):(l=H,d=0,!c&&!p&&g()),M)||p?.(Q,B,d))),m=(r,e,t=!1)=>C(r,e,o=>o&&(i=>i&&[r,o,i])(A(e-(t?.5:0)))),S=(r,e,t)=>C(r,e,o=>t?o&&[r,o]:!o&&(o=A(e-.5))&&[r,o]),Xr=(r,e)=>C(r,200,t=>!t&&[,e]),L=(r,e,t)=>C(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)=>C(r[0],e,t=>!t&&[r,A(0,r.charCodeAt(1))||null]),N=(r,e)=>C(r[0],e,t=>t&&[r,t,A(0,r.charCodeAt(1))||null]),O={},s=(r,e,t=O[r])=>O[r]=(...o)=>e(...o)||t?.(...o),n=r=>Array.isArray(r)?r[0]==null?(e=>()=>e)(r[1]):O[r[0]]?.(...r.slice(1))??g(`Unknown operator: ${r[0]}`,r?.loc):r===void 0?()=>{}:e=>e?.[r];var P=46,w=48,T=57,ir=69,sr=101,lr=43,pr=45,I=95,ur=110,mr=97,fr=102,cr=65,dr=70,W=r=>r.indexOf("_")<0?r:r.replaceAll("_",""),$=r=>{let e=W(E(t=>t===P&&u.charCodeAt(l+1)!==P||t>=w&&t<=T||t===I||((t===ir||t===sr)&&((t=u.charCodeAt(l+1))>=w&&t<=T||t===lr||t===pr)?2:0)));return u.charCodeAt(l)===ur?(y(),[,BigInt(e)]):(r=+e)!=r?g():[,r]},Ar={2:r=>r===48||r===49||r===I,8:r=>r>=48&&r<=55||r===I,16:r=>r>=w&&r<=T||r>=mr&&r<=fr||r>=cr&&r<=dr||r===I};f.number=null;h[P]=r=>!r&&u.charCodeAt(l+1)!==P&&$();for(let r=w;r<=T;r++)h[r]=e=>e?void 0:$();h[w]=r=>{if(r)return;let e=f.number;if(e){for(let[t,o]of Object.entries(e))if(t[0]==="0"&&u[l+1]?.toLowerCase()===t[1])return y(2),[,parseInt(W(E(Ar[o])),o)]}return $()};var hr=92,z=34,J=39,Cr={n:`
5
+ `,r:"\r",t:" ",b:"\b",f:"\f",v:"\v"},K=r=>(e,t,o="")=>{if(!(e||!f.string?.[String.fromCharCode(r)]))return y(),E(i=>i-r&&(i===hr?(o+=Cr[u[l+1]]||u[l+1],2):(o+=u[l],1))),u[l]===String.fromCharCode(r)?y():g("Bad string"),[,o]};h[z]=K(z);h[J]=K(J);f.string={'"':!0};var gr=20;"= += -= *= /= %= |= &= ^= >>= <<=".split(" ").map(r=>m(r,gr,!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,wr=60,_r=70,q=100,Ir=140;m("|",Er);m("&",_r);m("^",wr);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 U=90;m("<",U);m(">",U);m("<=",U);m(">=",U);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,k=120,a=140;m("+",j);m("-",j);m("*",k);m("/",k);m("%",k);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 R=150;C("++",R,r=>r?["++",r,null]:["++",A(R-1)]);C("--",R,r=>r?["--",r,null]:["--",A(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 Pr=5,Tr=10,Ur=170;G("()",Ur);L(",",Tr);L(";",Pr,!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",X=170;N("[]",X);m(".",X);N("()",X);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(f(r)):tr.get(r)||tr.set(r,Dr(r,e)).get(r),or=57344,Dr=(r,e)=>{let t=r.reduce((p,c,d)=>p+(d?String.fromCharCode(or+d-1):"")+c,""),o=f(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],Mr(d)?d:[,d]}return Array.isArray(p)?p.map(i):p};return n(i(o))},Mr=r=>typeof r=="string"||Array.isArray(r)&&(typeof r[0]=="string"||r[0]===void 0),ue=Rr;export{N as access,m as binary,n as compile,u as cur,ue as default,g as err,A as expr,G as group,$r as id,l as idx,Xr as literal,nr as loc,h as lookup,L as nary,E as next,s as operator,O as operators,Fr as parens,f as parse,Nr as peek,v as prec,Or as seek,y as skip,Lr as space,C as token,S as unary,kr as word};