subscript 7.5.4 → 7.6.0
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/README.md +2 -4
- package/justin.js +5 -4
- package/justin.min.js +1 -1
- package/package.json +1 -1
- package/subscript.js +13 -2
- package/subscript.min.js +1 -1
package/README.md
CHANGED
|
@@ -67,19 +67,17 @@ _Justin_ is minimal JS subset − JSON with JS expressions (see original [thread
|
|
|
67
67
|
|
|
68
68
|
It extends _subscript_ with:
|
|
69
69
|
|
|
70
|
-
+ `===`, `!==` operators
|
|
71
70
|
+ `**` exponentiation operator (right-assoc)
|
|
72
71
|
+ `~` bit inversion operator
|
|
73
72
|
+ `'` strings
|
|
74
73
|
+ `?:` ternary operator
|
|
75
74
|
+ `?.` optional chain operator
|
|
76
|
-
+ `??` nullish coalesce operator
|
|
77
75
|
+ `[...]` Array literal
|
|
78
76
|
+ `{...}` Object literal
|
|
79
77
|
+ `in` binary
|
|
80
78
|
+ `;` expression separator
|
|
81
79
|
+ `//`, `/* */` comments
|
|
82
|
-
+ `true`, `false`, `null
|
|
80
|
+
+ `true`, `false`, `null` literals
|
|
83
81
|
<!-- + `...x` unary operator -->
|
|
84
82
|
<!-- + strings interpolation -->
|
|
85
83
|
|
|
@@ -128,7 +126,7 @@ AST has simplified lispy tree structure (inspired by [frisk](https://ghub.io/fri
|
|
|
128
126
|
|
|
129
127
|
* not limited to particular language (JS), can be compiled to different targets;
|
|
130
128
|
* reflects execution sequence, rather than code layout;
|
|
131
|
-
* has minimal
|
|
129
|
+
* has minimal overhead, directly maps to operators;
|
|
132
130
|
* simplifies manual evaluation and debugging;
|
|
133
131
|
* has conventional form and one-line docs:
|
|
134
132
|
|
package/justin.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// justin lang https://github.com/endojs/Jessie/issues/66
|
|
2
|
-
import { skip, cur, idx, err, expr, lookup, token } from './parse.js'
|
|
2
|
+
import { skip, cur, idx, err, expr, lookup, token, binary } from './parse.js'
|
|
3
3
|
import compile, { operator } from './compile.js'
|
|
4
4
|
import subscript, { set } from './subscript.js'
|
|
5
5
|
|
|
@@ -20,8 +20,8 @@ let escape = { n: '\n', r: '\r', t: '\t', b: '\b', f: '\f', v: '\v' },
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
// operators
|
|
23
|
-
set('===', PREC_EQ, (a, b) => a === b)
|
|
24
|
-
set('!==', PREC_EQ, (a, b) => a !== b)
|
|
23
|
+
// set('===', PREC_EQ, (a, b) => a === b)
|
|
24
|
+
// set('!==', PREC_EQ, (a, b) => a !== b)
|
|
25
25
|
set('~', PREC_UNARY, (a) => ~a)
|
|
26
26
|
|
|
27
27
|
// ?:
|
|
@@ -68,7 +68,8 @@ token('//', 20, (a, prec) => (skip(c => c >= 32), a || expr(prec) || ['']))
|
|
|
68
68
|
token('null', 20, a => a ? err() : ['', null])
|
|
69
69
|
token('true', 20, a => a ? err() : ['', true])
|
|
70
70
|
token('false', 20, a => a ? err() : ['', false])
|
|
71
|
-
token('undefined', 20, a => a ? err() : ['', undefined])
|
|
71
|
+
// token('undefined', 20, a => a ? err() : ['', undefined])
|
|
72
|
+
// token('NaN', 20, a => a ? err() : ['', NaN])
|
|
72
73
|
|
|
73
74
|
// FIXME: make sure that is right
|
|
74
75
|
set(';', -20, (...args) => { for (let i = args.length; i--;) if (args[i] != null) return args[i] })
|
package/justin.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
let e,t,r=r=>(e=0,t=r,r=a(),t[e]?l():r||""),l=(r="Bad syntax",l=t[e],n=t.slice(0,e).split("\n"),a=n.pop())=>{let s=t.slice(e-108,e).split("\n").pop(),i=t.slice(e+1,e+108).split("\n").shift();throw EvalError(`${r} at ${n.length}:${a.length} \`${s+l+i}\``,"font-weight: bold")},n=(r=1,l=e,n)=>{if("number"==typeof r)e+=r;else for(;n=r(t.charCodeAt(e));)e+=n;return t.slice(l,e)},a=(t=0,n,a,s,i,o)=>{for(;(a=r.space())&&(i=((o=p[a])&&o(s,t))??(!s&&r.id()));)s=i;return n&&(a==n?e++:l()),s},s=e=>e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||36==e||95==e||e>=192&&215!=e&&247!=e,i=r.space=r=>{for(;(r=t.charCodeAt(e))<=32;)e++;return r},o=r.id=e=>n(s),p=[],h=(r,l=32,n,a=r.charCodeAt(0),i=r.length,o=p[a],h=r.toUpperCase()!==r)=>p[a]=(a,p,c=e)=>p<l&&(i<2||t.substr(e,i)==r)&&(!h||!s(t.charCodeAt(e+i)))&&(e+=i,n(a,p))||(e=c,o?.(a,p)),c=(e,t,r=0)=>h(e,t,((l,n)=>l&&(n=a(t-r/2))&&[e,l,n])),f=(e,t,r)=>h(e,t,(l=>r?l&&[e,l]:!l&&(l=a(t-.5))&&[e,l])),
|
|
1
|
+
let e,t,r=r=>(e=0,t=r,r=a(),t[e]?l():r||""),l=(r="Bad syntax",l=t[e],n=t.slice(0,e).split("\n"),a=n.pop())=>{let s=t.slice(e-108,e).split("\n").pop(),i=t.slice(e+1,e+108).split("\n").shift();throw EvalError(`${r} at ${n.length}:${a.length} \`${s+l+i}\``,"font-weight: bold")},n=(r=1,l=e,n)=>{if("number"==typeof r)e+=r;else for(;n=r(t.charCodeAt(e));)e+=n;return t.slice(l,e)},a=(t=0,n,a,s,i,o)=>{for(;(a=r.space())&&(i=((o=p[a])&&o(s,t))??(!s&&r.id()));)s=i;return n&&(a==n?e++:l()),s},s=e=>e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||36==e||95==e||e>=192&&215!=e&&247!=e,i=r.space=r=>{for(;(r=t.charCodeAt(e))<=32;)e++;return r},o=r.id=e=>n(s),p=[],h=(r,l=32,n,a=r.charCodeAt(0),i=r.length,o=p[a],h=r.toUpperCase()!==r)=>p[a]=(a,p,c=e)=>p<l&&(i<2||t.substr(e,i)==r)&&(!h||!s(t.charCodeAt(e+i)))&&(e+=i,n(a,p))||(e=c,o?.(a,p)),c=(e,t,r=0)=>h(e,t,((l,n)=>l&&(n=a(t-r/2))&&[e,l,n])),f=(e,t,r)=>h(e,t,(l=>r?l&&[e,l]:!l&&(l=a(t-.5))&&[e,l])),u=(e,t,r)=>{h(e,t,((l,n)=>(l||r)&&((n=a(t))||r)&&((!l||l[0]!==e)&&(l=[e,l]),(n||r)&&l.push(n),l)))};const g=e=>Array.isArray(e)?d[e[0]](...e.slice(1)):t=>t?.[e],d={},m=(e,t,r=d[e])=>d[e]=(...e)=>t(...e)||r&&r(...e),A=e=>(e=r(e),t=>(e.call?e:e=g(e))(t)),b=(e,t,r)=>r.length?r.length>1?(c(e,Math.abs(t),t<0),m(e,((e,t)=>t&&(e=g(e),t=g(t),e.length||t.length?l=>r(e(l),t(l)):(e=r(e(),t()),()=>e))))):(f(e,t),m(e,((e,t)=>!t&&((e=g(e)).length?t=>r(e(t)):(e=r(e()),()=>e))))):(u(e,Math.abs(t),t<0),m(e,((...e)=>(e=e.map(g),t=>r(...e.map((e=>e(t)))))))),y=e=>e?l():["",(e=+n((e=>46===e||e>=48&&e<=57||(69===e||101===e?2:0))))!=e?l():e],C=(e,t,r,l)=>(h(e,t,(r=>r?["++"===e?"-":"+",[e,r],["",1]]:[e,a(t-1)])),m(e,l=(e,t)=>"("===e[0]?l(e[1]):"."===e[0]?(t=e[2],e=g(e[1]),l=>r(e(l),t)):"["===e[0]?([,e,t]=e,e=g(e),t=g(t),l=>r(e(l),t(l))):t=>r(t,e)));m("",(e=>()=>e)),p[34]=e=>e?l():["",(n()+n((e=>e-34?1:0))+(n()||l("Bad string"))).slice(1,-1)],p[46]=e=>!e&&y();for(let e=0;e<=9;e++)p[48+e]=y;b(",",1,((...e)=>e[e.length-1])),b("||",4,((...e)=>{let t,r=0;for(;!t&&r<e.length;)t=e[r++];return t})),b("&&",5,((...e)=>{let t=0,r=!0;for(;r&&t<e.length;)r=e[t++];return r})),c("=",10,!0),m("=",((e,t)=>{let r,n,a=g(t),s="string"==typeof e?(t,r)=>t[e]=r:"."===e[0]?(r=g(e[1]),n=e[2],(e,t)=>r(e)[n]=t):"["===e[0]?(r=g(e[1]),n=g(e[2]),(e,t)=>r(e)[n(e)]=t):l("Bad LHS");return e=>s(e,a(e))})),b("+",12,((e,t)=>e+t)),b("-",12,((e,t)=>e-t)),b("*",13,((e,t)=>e*t)),b("/",13,((e,t)=>e/t)),b("%",13,((e,t)=>e%t)),b("|",6,((e,t)=>e|t)),b("&",8,((e,t)=>e&t)),b("^",7,((e,t)=>e^t)),b("==",9,((e,t)=>e==t)),b("!=",9,((e,t)=>e!=t)),b(">",10,((e,t)=>e>t)),b(">=",10,((e,t)=>e>=t)),b("<",10,((e,t)=>e<t)),b("<=",10,((e,t)=>e<=t)),b(">>",11,((e,t)=>e>>t)),b(">>>",11,((e,t)=>e>>>t)),b("<<",11,((e,t)=>e<<t)),b("+",15,(e=>+e)),b("-",15,(e=>-e)),b("!",15,(e=>!e)),C("++",15,((e,t)=>++e[t])),C("--",15,((e,t)=>--e[t])),h("[",18,(e=>e&&["[",e,a(0,93)||l()])),m("[",((e,t)=>t&&(e=g(e),t=g(t),r=>e(r)[t(r)]))),h(".",18,((e,t)=>e&&(t=a(18))&&[".",e,t])),m(".",((e,t)=>(e=g(e),t=t[0]?t:t[1],r=>e(r)[t]))),h("(",18,(e=>!e&&["(",a(0,41)||l()])),h("(",18,((e,t)=>e&&((t=a(0,41))?["(",e,t]:["(",e,""]))),m("(",((e,t,r,l,n)=>null==t?g(e):(n=""==t?()=>[]:","===t[0]?(t=t.slice(1).map(g),e=>t.map((t=>t(e)))):(t=g(t),e=>[t(e)]),"."===e[0]?(r=e[2],e=g(e[1]),t=>e(t)[r](...n(t))):"["===e[0]?(r=g(e[2]),e=g(e[1]),t=>e(t)[r(t)](...n(t))):(e=g(e),t=>e(t)(...n(t))))));let B={n:"\n",r:"\r",t:"\t",b:"\b",f:"\f",v:"\v"},E=r=>(a,s,i="")=>{for(a&&l("Unexpected string"),n();(s=t.charCodeAt(e))-r;)92===s?(n(),s=n(),i+=B[s]||s):i+=n();return n()||l("Bad string"),["",i]};b("~",15,(e=>~e)),h("?",3,((e,t,r)=>e&&(t=a(2,58))&&["?",e,t,a(3)])),m("?",((e,t,r)=>(e=g(e),t=g(t),r=g(r),l=>e(l)?t(l):r(l)))),b("??",6,((e,t)=>e??t)),h("?.",18,(e=>e&&["?.",e])),m("?.",(e=>(e=g(e),t=>e(t)||(()=>{})))),h("?.",18,((e,t)=>e&&!(t=a(18))?.map&&["?.",e,t])),m("?.",((e,t)=>t&&(e=g(e),r=>e(r)?.[t]))),m("(",((e,t,r,l,n,a)=>null!=t&&"?."===e[0]&&(e[2]||Array.isArray(e[1]))&&(l=""==t?()=>[]:","===t[0]?(t=t.slice(1).map(g),e=>t.map((t=>t(e)))):(t=g(t),e=>[t(e)]),!e[2]&&(e=e[1]),n="["===e[0]?g(e[2]):t=>e[2],r=g(e[1]),e=>r(e)?.[n(e)]?.(...l(e))))),b("in",10,((e,t)=>e in t)),p[34]=E(34),p[39]=E(39),h("/*",20,((r,l)=>(n((r=>42!==r&&47!==t.charCodeAt(e+1))),n(2),r||a(l)||[""]))),h("//",20,((e,t)=>(n((e=>e>=32)),e||a(t)||[""]))),h("null",20,(e=>e?l():["",null])),h("true",20,(e=>e?l():["",!0])),h("false",20,(e=>e?l():["",!1])),b(";",-20,((...e)=>{for(let t=e.length;t--;)if(null!=e[t])return e[t]})),b("**",-14,((e,t)=>e**t)),h("[",20,(e=>!e&&["[",a(0,93)||""])),m("[",((e,t)=>!t&&(e?","===e[0]?(e=e.slice(1).map(g),t=>e.map((e=>e(t)))):(e=g(e),t=>[e(t)]):()=>[]))),h("{",20,(e=>!e&&["{",a(0,125)||""])),m("{",((e,t)=>e?","===e[0]?(e=e.slice(1).map(g),t=>Object.fromEntries(e.map((e=>e(t))))):":"===e[0]?(e=g(e),t=>Object.fromEntries([e(t)])):(t=g(e),r=>({[e]:t(r)})):e=>({}))),h(":",1.1,((e,t)=>[":",e,a(1.1)||l()])),m(":",((e,t)=>(t=g(t),e=Array.isArray(e)?g(e):(e=>e).bind(0,e),r=>[e(r),t(r)])));export{c as binary,g as compile,t as cur,A as default,l as err,a as expr,o as id,e as idx,s as isId,p as lookup,u as nary,m as operator,d as operators,r as parse,b as set,n as skip,i as space,h as token,f as unary};
|
package/package.json
CHANGED
package/subscript.js
CHANGED
|
@@ -39,7 +39,6 @@ const subscript = s => (s = parse(s), ctx => (s.call ? s : (s = compile(s)))(ctx
|
|
|
39
39
|
))
|
|
40
40
|
)
|
|
41
41
|
|
|
42
|
-
|
|
43
42
|
// literals
|
|
44
43
|
// null operator returns first value (needed for direct literals)
|
|
45
44
|
operator('', v => () => v)
|
|
@@ -58,6 +57,17 @@ set(',', PREC_SEQ, (...args) => args[args.length - 1])
|
|
|
58
57
|
set('||', PREC_SOME, (...args) => { let i = 0, v; for (; !v && i < args.length;) v = args[i++]; return v })
|
|
59
58
|
set('&&', PREC_EVERY, (...args) => { let i = 0, v = true; for (; v && i < args.length;) v = args[i++]; return v })
|
|
60
59
|
|
|
60
|
+
// assignment
|
|
61
|
+
binary('=', 10, true)
|
|
62
|
+
operator('=', (a, b) => {
|
|
63
|
+
let calc = compile(b), container, path,
|
|
64
|
+
set = typeof a === 'string' ? (ctx, v) => ctx[a] = v :
|
|
65
|
+
a[0] === '.' ? (container = compile(a[1]), path = a[2], (ctx, v) => container(ctx)[path] = v) :
|
|
66
|
+
a[0] === '[' ? (container = compile(a[1]), path = compile(a[2]), (ctx, v) => container(ctx)[path(ctx)] = v) :
|
|
67
|
+
err('Bad LHS');
|
|
68
|
+
return ctx => set(ctx, calc(ctx))
|
|
69
|
+
})
|
|
70
|
+
|
|
61
71
|
// binaries
|
|
62
72
|
set('+', PREC_SUM, (a, b) => a + b)
|
|
63
73
|
set('-', PREC_SUM, (a, b) => a - b)
|
|
@@ -99,7 +109,7 @@ token('(', PREC_CALL, a => !a && ['(', expr(0, CPAREN) || err()])
|
|
|
99
109
|
|
|
100
110
|
// a(b,c,d), a()
|
|
101
111
|
token('(', PREC_CALL, (a, b) => a && (b = expr(0, CPAREN), b ? ['(', a, b] : ['(', a, '']))
|
|
102
|
-
operator('(', (a, b, path, args) => b == null ? (compile(a, b)) : (
|
|
112
|
+
operator('(', (a, b, path, container, args) => b == null ? (compile(a, b)) : (
|
|
103
113
|
args = b == '' ? () => [] : // a()
|
|
104
114
|
b[0] === ',' ? (b = b.slice(1).map(compile), ctx => b.map(arg => arg(ctx))) : // a(b,c)
|
|
105
115
|
(b = compile(b), ctx => [b(ctx)]), // a(b)
|
|
@@ -110,6 +120,7 @@ operator('(', (a, b, path, args) => b == null ? (compile(a, b)) : (
|
|
|
110
120
|
)
|
|
111
121
|
)
|
|
112
122
|
|
|
123
|
+
|
|
113
124
|
export default subscript
|
|
114
125
|
export { set }
|
|
115
126
|
export * from './parse.js'
|
package/subscript.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
let e,
|
|
1
|
+
let t,e,r=r=>(t=0,e=r,r=a(),e[t]?l():r||""),l=(r="Bad syntax",l=e[t],n=e.slice(0,t).split("\n"),a=n.pop())=>{let s=e.slice(t-108,t).split("\n").pop(),h=e.slice(t+1,t+108).split("\n").shift();throw EvalError(`${r} at ${n.length}:${a.length} \`${s+l+h}\``,"font-weight: bold")},n=(r=1,l=t,n)=>{if("number"==typeof r)t+=r;else for(;n=r(e.charCodeAt(t));)t+=n;return e.slice(l,t)},a=(e=0,n,a,s,h,o)=>{for(;(a=r.space())&&(h=((o=p[a])&&o(s,e))??(!s&&r.id()));)s=h;return n&&(a==n?t++:l()),s},s=t=>t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122||36==t||95==t||t>=192&&215!=t&&247!=t,h=r.space=r=>{for(;(r=e.charCodeAt(t))<=32;)t++;return r},o=r.id=t=>n(s),p=[],i=(r,l=32,n,a=r.charCodeAt(0),h=r.length,o=p[a],i=r.toUpperCase()!==r)=>p[a]=(a,p,c=t)=>p<l&&(h<2||e.substr(t,h)==r)&&(!i||!s(e.charCodeAt(t+h)))&&(t+=h,n(a,p))||(t=c,o?.(a,p)),c=(t,e,r=0)=>i(t,e,((l,n)=>l&&(n=a(e-r/2))&&[t,l,n])),g=(t,e,r)=>i(t,e,(l=>r?l&&[t,l]:!l&&(l=a(e-.5))&&[t,l])),f=(t,e,r)=>{i(t,e,((l,n)=>(l||r)&&((n=a(e))||r)&&((!l||l[0]!==t)&&(l=[t,l]),(n||r)&&l.push(n),l)))};const d=t=>Array.isArray(t)?u[t[0]](...t.slice(1)):e=>e?.[t],u={},A=(t,e,r=u[t])=>u[t]=(...t)=>e(...t)||r&&r(...t),b=t=>(t=r(t),e=>(t.call?t:t=d(t))(e)),m=(t,e,r)=>r.length?r.length>1?(c(t,Math.abs(e),e<0),A(t,((t,e)=>e&&(t=d(t),e=d(e),t.length||e.length?l=>r(t(l),e(l)):(t=r(t(),e()),()=>t))))):(g(t,e),A(t,((t,e)=>!e&&((t=d(t)).length?e=>r(t(e)):(t=r(t()),()=>t))))):(f(t,Math.abs(e),e<0),A(t,((...t)=>(t=t.map(d),e=>r(...t.map((t=>t(e)))))))),y=t=>t?l():["",(t=+n((t=>46===t||t>=48&&t<=57||(69===t||101===t?2:0))))!=t?l():t],C=(t,e,r,l)=>(i(t,e,(r=>r?["++"===t?"-":"+",[t,r],["",1]]:[t,a(e-1)])),A(t,l=(t,e)=>"("===t[0]?l(t[1]):"."===t[0]?(e=t[2],t=d(t[1]),l=>r(t(l),e)):"["===t[0]?([,t,e]=t,t=d(t),e=d(e),l=>r(t(l),e(l))):e=>r(e,t)));A("",(t=>()=>t)),p[34]=t=>t?l():["",(n()+n((t=>t-34?1:0))+(n()||l("Bad string"))).slice(1,-1)],p[46]=t=>!t&&y();for(let t=0;t<=9;t++)p[48+t]=y;m(",",1,((...t)=>t[t.length-1])),m("||",4,((...t)=>{let e,r=0;for(;!e&&r<t.length;)e=t[r++];return e})),m("&&",5,((...t)=>{let e=0,r=!0;for(;r&&e<t.length;)r=t[e++];return r})),c("=",10,!0),A("=",((t,e)=>{let r,n,a=d(e),s="string"==typeof t?(e,r)=>e[t]=r:"."===t[0]?(r=d(t[1]),n=t[2],(t,e)=>r(t)[n]=e):"["===t[0]?(r=d(t[1]),n=d(t[2]),(t,e)=>r(t)[n(t)]=e):l("Bad LHS");return t=>s(t,a(t))})),m("+",12,((t,e)=>t+e)),m("-",12,((t,e)=>t-e)),m("*",13,((t,e)=>t*e)),m("/",13,((t,e)=>t/e)),m("%",13,((t,e)=>t%e)),m("|",6,((t,e)=>t|e)),m("&",8,((t,e)=>t&e)),m("^",7,((t,e)=>t^e)),m("==",9,((t,e)=>t==e)),m("!=",9,((t,e)=>t!=e)),m(">",10,((t,e)=>t>e)),m(">=",10,((t,e)=>t>=e)),m("<",10,((t,e)=>t<e)),m("<=",10,((t,e)=>t<=e)),m(">>",11,((t,e)=>t>>e)),m(">>>",11,((t,e)=>t>>>e)),m("<<",11,((t,e)=>t<<e)),m("+",15,(t=>+t)),m("-",15,(t=>-t)),m("!",15,(t=>!t)),C("++",15,((t,e)=>++t[e])),C("--",15,((t,e)=>--t[e])),i("[",18,(t=>t&&["[",t,a(0,93)||l()])),A("[",((t,e)=>e&&(t=d(t),e=d(e),r=>t(r)[e(r)]))),i(".",18,((t,e)=>t&&(e=a(18))&&[".",t,e])),A(".",((t,e)=>(t=d(t),e=e[0]?e:e[1],r=>t(r)[e]))),i("(",18,(t=>!t&&["(",a(0,41)||l()])),i("(",18,((t,e)=>t&&((e=a(0,41))?["(",t,e]:["(",t,""]))),A("(",((t,e,r,l,n)=>null==e?d(t):(n=""==e?()=>[]:","===e[0]?(e=e.slice(1).map(d),t=>e.map((e=>e(t)))):(e=d(e),t=>[e(t)]),"."===t[0]?(r=t[2],t=d(t[1]),e=>t(e)[r](...n(e))):"["===t[0]?(r=d(t[2]),t=d(t[1]),e=>t(e)[r(e)](...n(e))):(t=d(t),e=>t(e)(...n(e))))));export{c as binary,d as compile,e as cur,b as default,l as err,a as expr,o as id,t as idx,s as isId,p as lookup,f as nary,A as operator,u as operators,r as parse,m as set,n as skip,h as space,i as token,g as unary};
|