MCPcopy Create free account
hub / github.com/Make-md/makemd / toString

Method toString

main.js:87–87  ·  view source on GitHub ↗
(u)

Source from the content-addressed store, hash-verified

85`)+"\\end{array}\\right\\}";return s}}return ai(r,"name",Y9),r},{isClass:!0,isNode:!0});function Hx(e,t){return new JE(e,new Ix(t),new Set(Object.keys(t)))}var K9="OperatorNode",put=["Node"],J9=X(K9,put,e=>{var{Node:t}=e;function r(a,o){var s=a;if(o==="auto")for(;ll(s);)s=s.content;return Hr(s)?!0:ta(s)?r(s.args[0],o):!1}function n(a,o,s,l,u){var c=hi(a,o,s),f=Mk(a,o);if(o==="all"||l.length>2&&a.getIdentifier()!=="OperatorNode:add"&&a.getIdentifier()!=="OperatorNode:multiply")return l.map(function(k){switch(k.getContent().type){case"ArrayNode":case"ConstantNode":case"SymbolNode":case"ParenthesisNode":return!1;default:return!0}});var d;switch(l.length){case 0:d=[];break;case 1:{var p=hi(l[0],o,s,a);if(u&&p!==null){var h,m;if(o==="keep"?(h=l[0].getIdentifier(),m=a.getIdentifier()):(h=l[0].getContent().getIdentifier(),m=a.getContent().getIdentifier()),Jp[c][m].latexLeftParens===!1){d=[!1];break}if(Jp[p][h].latexParens===!1){d=[!1];break}}if(p===null){d=[!1];break}if(p<=c){d=[!0];break}d=[!1]}break;case 2:{var v,A=hi(l[0],o,s,a),x=P9(a,l[0],o);A===null?v=!1:A===c&&f==="right"&&!x||A<c?v=!0:v=!1;var g,w=hi(l[1],o,s,a),b=P9(a,l[1],o);if(w===null?g=!1:w===c&&f==="left"&&!b||w<c?g=!0:g=!1,u){var y,S,T;o==="keep"?(y=a.getIdentifier(),S=a.args[0].getIdentifier(),T=a.args[1].getIdentifier()):(y=a.getContent().getIdentifier(),S=a.args[0].getContent().getIdentifier(),T=a.args[1].getContent().getIdentifier()),A!==null&&(Jp[c][y].latexLeftParens===!1&&(v=!1),Jp[A][S].latexParens===!1&&(v=!1)),w!==null&&(Jp[c][y].latexRightParens===!1&&(g=!1),Jp[w][T].latexParens===!1&&(g=!1))}d=[v,g]}break;default:(a.getIdentifier()==="OperatorNode:add"||a.getIdentifier()==="OperatorNode:multiply")&&(d=l.map(function(k){var M=hi(k,o,s,a),E=P9(a,k,o),O=Mk(k,o);return M===null?!1:c===M&&f===O&&!E?!0:M<c}));break}if(l.length>=2&&a.getIdentifier()==="OperatorNode:multiply"&&a.implicit&&o!=="all"&&s==="hide")for(var D=1;D<d.length;++D)r(l[D],o)&&!d[D-1]&&(o!=="keep"||!ll(l[D-1]))&&(d[D]=!0);return d}class i extends t{constructor(o,s,l,u,c){if(super(),typeof o!="string")throw new TypeError('string expected for parameter "op"');if(typeof s!="string")throw new TypeError('string expected for parameter "fn"');if(!Array.isArray(l)||!l.every(an))throw new TypeError('Array containing Nodes expected for parameter "args"');this.implicit=u===!0,this.isPercentage=c===!0,this.op=o,this.fn=s,this.args=l||[]}get type(){return K9}get isOperatorNode(){return!0}_compile(o,s){if(typeof this.fn!="string"||!II(o,this.fn))throw o[this.fn]?new Error('No access to function "'+this.fn+'"'):new Error("Function "+this.fn+' missing in provided namespace "math"');var l=Oa(o,this.fn),u=Lf(this.args,function(h){return h._compile(o,s)});if(typeof l=="function"&&l.rawArgs===!0){var c=this.args;return function(m,v,A){return l(c,o,Hx(m,v))}}else if(u.length===1){var f=u[0];return function(m,v,A){return l(f(m,v,A))}}else if(u.length===2){var d=u[0],p=u[1];return function(m,v,A){return l(d(m,v,A),p(m,v,A))}}else return function(m,v,A){return l.apply(null,Lf(u,function(x){return x(m,v,A)}))}}forEach(o){for(var s=0;s<this.args.length;s++)o(this.args[s],"args["+s+"]",this)}map(o){for(var s=[],l=0;l<this.args.length;l++)s[l]=this._ifNode(o(this.args[l],"args["+l+"]",this));return new i(this.op,this.fn,s,this.implicit,this.isPercentage)}clone(){return new i(this.op,this.fn,this.args.slice(0),this.implicit,this.isPercentage)}isUnary(){return this.args.length===1}isBinary(){return this.args.length===2}_toString(o){var s=o&&o.parenthesis?o.parenthesis:"keep",l=o&&o.implicit?o.implicit:"hide",u=this.args,c=n(this,s,l,u,!1);if(u.length===1){var f=Mk(this,s),d=u[0].toString(o);c[0]&&(d="("+d+")");var p=/[a-zA-Z]+/.test(this.op);return f==="right"?this.op+(p?" ":"")+d:f==="left"?d+(p?" ":"")+this.op:d+this.op}else if(u.length===2){var h=u[0].toString(o),m=u[1].toString(o);return c[0]&&(h="("+h+")"),c[1]&&(m="("+m+")"),this.implicit&&this.getIdentifier()==="OperatorNode:multiply"&&l==="hide"?h+" "+m:h+" "+this.op+" "+m}else if(u.length>2&&(this.getIdentifier()==="OperatorNode:add"||this.getIdentifier()==="OperatorNode:multiply")){var v=u.map(function(A,x){return A=A.toString(o),c[x]&&(A="("+A+")"),A});return this.implicit&&this.getIdentifier()==="OperatorNode:multiply"&&l==="hide"?v.join(" "):v.join(" "+this.op+" ")}else return this.fn+"("+this.args.join(", ")+")"}toJSON(){return{mathjs:K9,op:this.op,fn:this.fn,args:this.args,implicit:this.implicit,isPercentage:this.isPercentage}}static fromJSON(o){return new i(o.op,o.fn,o.args,o.implicit,o.isPercentage)}_toHTML(o){var s=o&&o.parenthesis?o.parenthesis:"keep",l=o&&o.implicit?o.implicit:"hide",u=this.args,c=n(this,s,l,u,!1);if(u.length===1){var f=Mk(this,s),d=u[0].toHTML(o);return c[0]&&(d='<span class="math-parenthesis math-round-parenthesis">(</span>'+d+'<span class="math-parenthesis math-round-parenthesis">)</span>'),f==="right"?'<span class="math-operator math-unary-operator math-lefthand-unary-operator">'+cl(this.op)+"</span>"+d:d+'<span class="math-operator math-unary-operator math-righthand-unary-operator">'+cl(this.op)+"</span>"}else if(u.length===2){var p=u[0].toHTML(o),h=u[1].toHTML(o);return c[0]&&(p='<span class="math-parenthesis math-round-parenthesis">(</span>'+p+'<span class="math-parenthesis math-round-parenthesis">)</span>'),c[1]&&(h='<span class="math-parenthesis math-round-parenthesis">(</span>'+h+'<span class="math-parenthesis math-round-parenthesis">)</span>'),this.implicit&&this.getIdentifier()==="OperatorNode:multiply"&&l==="hide"?p+'<span class="math-operator math-binary-operator math-implicit-binary-operator"></span>'+h:p+'<span class="math-operator math-binary-operator math-explicit-binary-operator">'+cl(this.op)+"</span>"+h}else{var m=u.map(function(v,A){return v=v.toHTML(o),c[A]&&(v='<span class="math-parenthesis math-round-parenthesis">(</span>'+v+'<span class="math-parenthesis math-round-parenthesis">)</span>'),v});return u.length>2&&(this.getIdentifier()==="OperatorNode:add"||this.getIdentifier()==="OperatorNode:multiply")?this.implicit&&this.getIdentifier()==="OperatorNode:multiply"&&l==="hide"?m.join('<span class="math-operator math-binary-operator math-implicit-binary-operator"></span>'):m.join('<span class="math-operator math-binary-operator math-explicit-binary-operator">'+cl(this.op)+"</span>"):'<span class="math-function">'+cl(this.fn)+'</span><span class="math-paranthesis math-round-parenthesis">(</span>'+m.join('<span class="math-separator">,</span>')+'<span class="math-paranthesis math-round-parenthesis">)</span>'}}_toTex(o){var s=o&&o.parenthesis?o.parenthesis:"keep",l=o&&o.implicit?o.implicit:"hide",u=this.args,c=n(this,s,l,u,!0),f=Kn[this.fn];if(f=typeof f>"u"?this.op:f,u.length===1){var d=Mk(this,s),p=u[0].toTex(o);return c[0]&&(p="\\left(".concat(p,"\\right)")),d==="right"?f+p:p+f}else if(u.length===2){var h=u[0],m=h.toTex(o);c[0]&&(m="\\left(".concat(m,"\\right)"));var v=u[1],A=v.toTex(o);c[1]&&(A="\\left(".concat(A,"\\right)"));var x;switch(s==="keep"?x=h.getIdentifier():x=h.getContent().getIdentifier(),this.getIdentifier()){case"OperatorNode:divide":return f+"{"+m+"}{"+A+"}";case"OperatorNode:pow":switch(m="{"+m+"}",A="{"+A+"}",x){case"ConditionalNode":case"OperatorNode:divide":m="\\left(".concat(m,"\\right)")}break;case"OperatorNode:multiply":if(this.implicit&&l==="hide")return m+"~"+A}return m+f+A}else if(u.length>2&&(this.getIdentifier()==="OperatorNode:add"||this.getIdentifier()==="OperatorNode:multiply")){var g=u.map(function(w,b){return w=w.toTex(o),c[b]&&(w="\\left(".concat(w,"\\right)")),w});return this.getIdentifier()==="OperatorNode:multiply"&&this.implicit&&l==="hide"?g.join("~"):g.join(f)}else return"\\mathrm{"+this.fn+"}\\left("+u.map(function(w){return w.toTex(o)}).join(",")+"\\right)"}getIdentifier(){return this.type+":"+this.fn}}return ai(i,"name",K9),i},{isClass:!0,isNode:!0});var Z9="ParenthesisNode",mut=["Node"],e7=X(Z9,mut,e=>{var{Node:t}=e;class r extends t{constructor(i){if(super(),!an(i))throw new TypeError('Node expected for parameter "content"');this.content=i}get type(){return Z9}get isParenthesisNode(){return!0}_compile(i,a){return this.content._compile(i,a)}getContent(){return this.content.getContent()}forEach(i){i(this.content,"content",this)}map(i){var a=i(this.content,"content",this);return new r(a)}clone(){return new r(this.content)}_toString(i){return!i||i&&!i.parenthesis||i&&i.parenthesis==="keep"?"("+this.content.toString(i)+")":this.content.toString(i)}toJSON(){return{mathjs:Z9,content:this.content}}static fromJSON(i){return new r(i.content)}_toHTML(i){return!i||i&&!i.parenthesis||i&&i.parenthesis==="keep"?'<span class="math-parenthesis math-round-parenthesis">(</span>'+this.content.toHTML(i)+'<span class="math-parenthesis math-round-parenthesis">)</span>':this.content.toHTML(i)}_toTex(i){return!i||i&&!i.parenthesis||i&&i.parenthesis==="keep"?"\\left(".concat(this.content.toTex(i),"\\right)"):this.content.toTex(i)}}return ai(r,"name",Z9),r},{isClass:!0,isNode:!0});var t7="RangeNode",hut=["Node"],r7=X(t7,hut,e=>{var{Node:t}=e;function r(i,a,o){var s=hi(i,a,o),l={},u=hi(i.start,a,o);if(l.start=u!==null&&u<=s||a==="all",i.step){var c=hi(i.step,a,o);l.step=c!==null&&c<=s||a==="all"}var f=hi(i.end,a,o);return l.end=f!==null&&f<=s||a==="all",l}class n extends t{constructor(a,o,s){if(super(),!an(a))throw new TypeError("Node expected");if(!an(o))throw new TypeError("Node expected");if(s&&!an(s))throw new TypeError("Node expected");if(arguments.length>3)throw new Error("Too many arguments");this.start=a,this.end=o,this.step=s||null}get type(){return t7}get isRangeNode(){return!0}needsEnd(){var a=this.filter(function(o){return Oi(o)&&o.name==="end"});return a.length>0}_compile(a,o){var s=a.range,l=this.start._compile(a,o),u=this.end._compile(a,o);if(this.step){var c=this.step._compile(a,o);return function(d,p,h){return s(l(d,p,h),u(d,p,h),c(d,p,h))}}else return function(d,p,h){return s(l(d,p,h),u(d,p,h))}}forEach(a){a(this.start,"start",this),a(this.end,"end",this),this.step&&a(this.step,"step",this)}map(a){return new n(this._ifNode(a(this.start,"start",this)),this._ifNode(a(this.end,"end",this)),this.step&&this._ifNode(a(this.step,"step",this)))}clone(){return new n(this.start,this.end,this.step&&this.step)}_toString(a){var o=a&&a.parenthesis?a.parenthesis:"keep",s=r(this,o,a&&a.implicit),l,u=this.start.toString(a);if(s.start&&(u="("+u+")"),l=u,this.step){var c=this.step.toString(a);s.step&&(c="("+c+")"),l+=":"+c}var f=this.end.toString(a);return s.end&&(f="("+f+")"),l+=":"+f,l}toJSON(){return{mathjs:t7,start:this.start,end:this.end,step:this.step}}static fromJSON(a){return new n(a.start,a.end,a.step)}_toHTML(a){var o=a&&a.parenthesis?a.parenthesis:"keep",s=r(this,o,a&&a.implicit),l,u=this.start.toHTML(a);if(s.start&&(u='<span class="math-parenthesis math-round-parenthesis">(</span>'+u+'<span class="math-parenthesis math-round-parenthesis">)</span>'),l=u,this.step){var c=this.step.toHTML(a);s.step&&(c='<span class="math-parenthesis math-round-parenthesis">(</span>'+c+'<span class="math-parenthesis math-round-parenthesis">)</span>'),l+='<span class="math-operator math-range-operator">:</span>'+c}var f=this.end.toHTML(a);return s.end&&(f='<span class="math-parenthesis math-round-parenthesis">(</span>'+f+'<span class="math-parenthesis math-round-parenthesis">)</span>'),l+='<span class="math-operator math-range-operator">:</span>'+f,l}_toTex(a){var o=a&&a.parenthesis?a.parenthesis:"keep",s=r(this,o,a&&a.implicit),l=this.start.toTex(a);if(s.start&&(l="\\left(".concat(l,"\\right)")),this.step){var u=this.step.toTex(a);s.step&&(u="\\left(".concat(u,"\\right)")),l+=":"+u}var c=this.end.toTex(a);return s.end&&(c="\\left(".concat(c,"\\right)")),l+=":"+c,l}}return ai(n,"name",t7),n},{isClass:!0,isNode:!0});var n7="RelationalNode",gut=["Node"],i7=X(n7,gut,e=>{var{Node:t}=e,r={equal:"==",unequal:"!=",smaller:"<",larger:">",smallerEq:"<=",largerEq:">="};class n extends t{constructor(a,o){if(super(),!Array.isArray(a))throw new TypeError("Parameter conditionals must be an array");if(!Array.isArray(o))throw new TypeError("Parameter params must be an array");if(a.length!==o.length-1)throw new TypeError("Parameter params must contain exactly one more element than parameter conditionals");this.conditionals=a,this.params=o}get type(){return n7}get isRelationalNode(){return!0}_compile(a,o){var s=this,l=this.params.map(u=>u._compile(a,o));return function(c,f,d){for(var p,h=l[0](c,f,d),m=0;m<s.conditionals.length;m++){p=h,h=l[m+1](c,f,d);var v=Oa(a,s.conditionals[m]);if(!v(p,h))return!1}return!0}}forEach(a){this.params.forEach((o,s)=>a(o,"params["+s+"]",this),this)}map(a){return new n(this.conditionals.slice(),this.params.map((o,s)=>this._ifNode(a(o,"params["+s+"]",this)),this))}clone(){return new n(this.conditionals,this.params)}_toString(a){for(var o=a&&a.parenthesis?a.parenthesis:"keep",s=hi(this,o,a&&a.implicit),l=this.params.map(function(f,d){var p=hi(f,o,a&&a.implicit);return o==="all"||p!==null&&p<=s?"("+f.toString(a)+")":f.toString(a)}),u=l[0],c=0;c<this.conditionals.length;c++)u+=" "+r[this.conditionals[c]],u+=" "+l[c+1];return u}toJSON(){return{mathjs:n7,conditionals:this.conditionals,params:this.params}}static fromJSON(a){return new n(a.conditionals,a.params)}_toHTML(a){for(var o=a&&a.parenthesis?a.parenthesis:"keep",s=hi(this,o,a&&a.implicit),l=this.params.map(function(f,d){var p=hi(f,o,a&&a.implicit);return o==="all"||p!==null&&p<=s?'<span class="math-parenthesis math-round-parenthesis">(</span>'+f.toHTML(a)+'<span class="math-parenthesis math-round-parenthesis">)</span>':f.toHTML(a)}),u=l[0],c=0;c<this.conditionals.length;c++)u+='<span class="math-operator math-binary-operator math-explicit-binary-operator">'+cl(r[this.conditionals[c]])+"</span>"+l[c+1];return u}_toTex(a){for(var o=a&&a.parenthesis?a.parenthesis:"keep",s=hi(this,o,a&&a.implicit),l=this.params.map(function(f,d){var p=hi(f,o,a&&a.implicit);return o==="all"||p!==null&&p<=s?"\\left("+f.toTex(a)+"\right)":f.toTex(a)}),u=l[0],c=0;c<this.conditionals.length;c++)u+=Kn[this.conditionals[c]]+l[c+1];return u}}return ai(n,"name",n7),n},{isClass:!0,isNode:!0});var Aut="SymbolNode",vut=["math","?Unit","Node"],a7=X(Aut,vut,e=>{var{math:t,Unit:r,Node:n}=e;function i(o){return r?r.isValuelessUnit(o):!1}class a extends n{constructor(s){if(super(),typeof s!="string")throw new TypeError('String expected for parameter "name"');this.name=s}get type(){return"SymbolNode"}get isSymbolNode(){return!0}_compile(s,l){var u=this.name;if(l[u]===!0)return function(f,d,p){return Oa(d,u)};if(u in s)return function(f,d,p){return f.has(u)?f.get(u):Oa(s,u)};var c=i(u);return function(f,d,p){return f.has(u)?f.get(u):c?new r(null,u):a.onUndefinedSymbol(u)}}forEach(s){}map(s){return this.clone()}static onUndefinedSymbol(s){throw new Error("Undefined symbol "+s)}clone(){return new a(this.name)}_toString(s){return this.name}_toHTML(s){var l=cl(this.name);return l==="true"||l==="false"?'<span class="math-symbol math-boolean">'+l+"</span>":l==="i"?'<span class="math-symbol math-imaginary-symbol">'+l+"</span>":l==="Infinity"?'<span class="math-symbol math-infinity-symbol">'+l+"</span>":l==="NaN"?'<span class="math-symbol math-nan-symbol">'+l+"</span>":l==="null"?'<span class="math-symbol math-null-symbol">'+l+"</span>":l==="undefined"?'<span class="math-symbol math-undefined-symbol">'+l+"</span>":'<span class="math-symbol">'+l+"</span>"}toJSON(){return{mathjs:"SymbolNode",name:this.name}}static fromJSON(s){return new a(s.name)}_toTex(s){var l=!1;typeof t[this.name]>"u"&&i(this.name)&&(l=!0);var u=z9(this.name,l);return u[0]==="\\"?u:" "+u}}return a},{isClass:!0,isNode:!0});var o7="FunctionNode",yut=["math","Node","SymbolNode"],s7=X(o7,yut,e=>{var t,{math:r,Node:n,SymbolNode:i}=e,a=l=>Er(l,{truncate:78});function o(l,u,c){for(var f="",d=/\$(?:\{([a-z_][a-z_0-9]*)(?:\[([0-9]+)\])?\}|\$)/gi,p=0,h;(h=d.exec(l))!==null;)if(f+=l.substring(p,h.index),p=h.index,h[0]==="$$")f+="$",p++;else{p+=h[0].length;var m=u[h[1]];if(!m)throw new ReferenceError("Template: Property "+h[1]+" does not exist.");if(h[2]===void 0)switch(typeof m){case"string":f+=m;break;case"object":if(an(m))f+=m.toTex(c);else if(Array.isArray(m))f+=m.map(function(v,A){if(an(v))return v.toTex(c);throw new TypeError("Template: "+h[1]+"["+A+"] is not a Node.")}).join(",");else throw new TypeError("Template: "+h[1]+" has to be a Node, String or array of Nodes");break;default:throw new TypeError("Template: "+h[1]+" has to be a Node, String or array of Nodes")}else if(an(m[h[2]]&&m[h[2]]))f+=m[h[2]].toTex(c);else throw new TypeError("Template: "+h[1]+"["+h[2]+"] is not a Node.")}return f+=l.slice(p),f}class s extends n{constructor(u,c){if(super(),typeof u=="string"&&(u=new i(u)),!an(u))throw new TypeError('Node expected as parameter "fn"');if(!Array.isArray(c)||!c.every(an))throw new TypeError('Array containing Nodes expected for parameter "args"');this.fn=u,this.args=c||[]}get name(){return this.fn.name||""}get type(){return o7}get isFunctionNode(){return!0}_compile(u,c){var f=this.args.map(T=>T._compile(u,c));if(Oi(this.fn)){var d=this.fn.name;if(c[d]){var A=this.args;return function(D,k,M){var E=Oa(k,d);if(typeof E!="function")throw new TypeError("Argument '".concat(d,"' was not a function; received: ").concat(a(E)));if(E.rawArgs)return E(A,u,Hx(D,k));var O=f.map(P=>P(D,k,M));return E.apply(E,O)}}else{var p=d in u?Oa(u,d):void 0,h=typeof p=="function"&&p.rawArgs===!0,m=T=>{var D;if(T.has(d))D=T.get(d);else if(d in u)D=Oa(u,d);else return s.onUndefinedFunction(d);if(typeof D=="function")return D;throw new TypeError("'".concat(d,`' is not a function; its value is:
86 `).concat(a(D)))};if(h){var v=this.args;return function(D,k,M){var E=m(D);return E(v,u,Hx(D,k))}}else switch(f.length){case 0:return function(D,k,M){var E=m(D);return E()};case 1:return function(D,k,M){var E=m(D),O=f[0];return E(O(D,k,M))};case 2:return function(D,k,M){var E=m(D),O=f[0],P=f[1];return E(O(D,k,M),P(D,k,M))};default:return function(D,k,M){var E=m(D),O=f.map(P=>P(D,k,M));return E(...O)}}}}else if(Yc(this.fn)&&If(this.fn.index)&&this.fn.index.isObjectProperty()){var x=this.fn.object._compile(u,c),g=this.fn.index.getObjectProperty(),w=this.args;return function(D,k,M){var E=x(D,k,M),O=R0e(E,g);if(O!=null&&O.rawArgs)return O(w,u,Hx(D,k));var P=f.map(_=>_(D,k,M));return O.apply(E,P)}}else{var b=this.fn.toString(),y=this.fn._compile(u,c),S=this.args;return function(D,k,M){var E=y(D,k,M);if(typeof E!="function")throw new TypeError("Expression '".concat(b,"' did not evaluate to a function; value is:")+`
87 `.concat(a(E)));if(E.rawArgs)return E(S,u,Hx(D,k));var O=f.map(P=>P(D,k,M));return E.apply(E,O)}}}forEach(u){u(this.fn,"fn",this);for(var c=0;c<this.args.length;c++)u(this.args[c],"args["+c+"]",this)}map(u){for(var c=this._ifNode(u(this.fn,"fn",this)),f=[],d=0;d<this.args.length;d++)f[d]=this._ifNode(u(this.args[d],"args["+d+"]",this));return new s(c,f)}clone(){return new s(this.fn,this.args.slice(0))}toString(u){var c,f=this.fn.toString(u);return u&&typeof u.handler=="object"&&Pt(u.handler,f)&&(c=u.handler[f](this,u)),typeof c<"u"?c:super.toString(u)}_toString(u){var c=this.args.map(function(d){return d.toString(u)}),f=Vp(this.fn)?"("+this.fn.toString(u)+")":this.fn.toString(u);return f+"("+c.join(", ")+")"}toJSON(){return{mathjs:o7,fn:this.fn,args:this.args}}_toHTML(u){var c=this.args.map(function(f){return f.toHTML(u)});return'<span class="math-function">'+cl(this.fn)+'</span><span class="math-paranthesis math-round-parenthesis">(</span>'+c.join('<span class="math-separator">,</span>')+'<span class="math-paranthesis math-round-parenthesis">)</span>'}toTex(u){var c;return u&&typeof u.handler=="object"&&Pt(u.handler,this.name)&&(c=u.handler[this.name](this,u)),typeof c<"u"?c:super.toTex(u)}_toTex(u){var c=this.args.map(function(p){return p.toTex(u)}),f;PZ[this.name]&&(f=PZ[this.name]),r[this.name]&&(typeof r[this.name].toTex=="function"||typeof r[this.name].toTex=="object"||typeof r[this.name].toTex=="string")&&(f=r[this.name].toTex);var d;switch(typeof f){case"function":d=f(this,u);break;case"string":d=o(f,this,u);break;case"object":switch(typeof f[c.length]){case"function":d=f[c.length](this,u);break;case"string":d=o(f[c.length],this,u);break}}return typeof d<"u"?d:o(Bbe,this,u)}getIdentifier(){return this.type+":"+this.name}}return t=s,ai(s,"name",o7),ai(s,"onUndefinedFunction",function(l){throw new Error("Undefined function "+l)}),ai(s,"fromJSON",function(l){return new t(l.fn,l.args)}),s},{isClass:!0,isNode:!0});var Lbe="parse",but=["typed","numeric","config","AccessorNode","ArrayNode","AssignmentNode","BlockNode","ConditionalNode","ConstantNode","FunctionAssignmentNode","FunctionNode","IndexNode","ObjectNode","OperatorNode","ParenthesisNode","RangeNode","RelationalNode","SymbolNode"],l7=X(Lbe,but,e=>{var{typed:t,numeric:r,config:n,AccessorNode:i,ArrayNode:a,AssignmentNode:o,BlockNode:s,ConditionalNode:l,ConstantNode:u,FunctionAssignmentNode:c,FunctionNode:f,IndexNode:d,ObjectNode:p,OperatorNode:h,ParenthesisNode:m,RangeNode:v,RelationalNode:A,SymbolNode:x}=e,g=t(Lbe,{string:function(me){return J(me,{})},"Array | Matrix":function(me){return w(me,{})},"string, Object":function(me,Fe){var Ce=Fe.nodes!==void 0?Fe.nodes:{};return J(me,Ce)},"Array | Matrix, Object":w});function w(K){var me=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Fe=me.nodes!==void 0?me.nodes:{};return Ut(K,function(Ce){if(typeof Ce!="string")throw new TypeError("String expected");return J(Ce,Fe)})}var b={NULL:0,DELIMITER:1,NUMBER:2,SYMBOL:3,UNKNOWN:4},y={",":!0,"(":!0,")":!0,"[":!0,"]":!0,"{":!0,"}":!0,'"':!0,"'":!0,";":!0,"+":!0,"-":!0,"*":!0,".*":!0,"/":!0,"./":!0,"%":!0,"^":!0,".^":!0,"~":!0,"!":!0,"&":!0,"|":!0,"^|":!0,"=":!0,":":!0,"?":!0,"==":!0,"!=":!0,"<":!0,">":!0,"<=":!0,">=":!0,"<<":!0,">>":!0,">>>":!0},S={mod:!0,to:!0,in:!0,and:!0,xor:!0,or:!0,not:!0},T={true:!0,false:!1,null:null,undefined:void 0},D=["NaN","Infinity"],k={'"':'"',"'":"'","\\":"\\","/":"/",b:"\b",f:"\f",n:`
88`,r:"\r",t:" "};function M(){return{extraNodes:{},expression:"",comment:"",index:0,token:"",tokenType:b.NULL,nestingLevel:0,conditionalLevel:null}}function E(K,me){return K.expression.substr(K.index,me)}function O(K){return E(K,1)}function P(K){K.index++}function _(K){return K.expression.charAt(K.index-1)}function B(K){return K.expression.charAt(K.index+1)}function F(K){for(K.tokenType=b.NULL,K.token="",K.comment="";;){if(O(K)==="#")for(;O(K)!==`
89`&&O(K)!=="";)K.comment+=O(K),P(K);if(g.isWhitespace(O(K),K.nestingLevel))P(K);else break}if(O(K)===""){K.tokenType=b.DELIMITER;return}if(O(K)===`
90`&&!K.nestingLevel){K.tokenType=b.DELIMITER,K.token=O(K),P(K);return}var me=O(K),Fe=E(K,2),Ce=E(K,3);if(Ce.length===3&&y[Ce]){K.tokenType=b.DELIMITER,K.token=Ce,P(K),P(K),P(K);return}if(Fe.length===2&&y[Fe]){K.tokenType=b.DELIMITER,K.token=Fe,P(K),P(K);return}if(y[me]){K.tokenType=b.DELIMITER,K.token=me,P(K);return}if(g.isDigitDot(me)){K.tokenType=b.NUMBER;var ft=E(K,2);if(ft==="0b"||ft==="0o"||ft==="0x"){for(K.token+=O(K),P(K),K.token+=O(K),P(K);g.isHexDigit(O(K));)K.token+=O(K),P(K);if(O(K)===".")for(K.token+=".",P(K);g.isHexDigit(O(K));)K.token+=O(K),P(K);else if(O(K)==="i")for(K.token+="i",P(K);g.isDigit(O(K));)K.token+=O(K),P(K);return}if(O(K)==="."){if(K.token+=O(K),P(K),!g.isDigit(O(K))){K.tokenType=b.DELIMITER;return}}else{for(;g.isDigit(O(K));)K.token+=O(K),P(K);g.isDecimalMark(O(K),B(K))&&(K.token+=O(K),P(K))}for(;g.isDigit(O(K));)K.token+=O(K),P(K);if(O(K)==="E"||O(K)==="e"){if(g.isDigit(B(K))||B(K)==="-"||B(K)==="+"){if(K.token+=O(K),P(K),(O(K)==="+"||O(K)==="-")&&(K.token+=O(K),P(K)),!g.isDigit(O(K)))throw Qe(K,'Digit expected, got "'+O(K)+'"');for(;g.isDigit(O(K));)K.token+=O(K),P(K);if(g.isDecimalMark(O(K),B(K)))throw Qe(K,'Digit expected, got "'+O(K)+'"')}else if(B(K)===".")throw P(K),Qe(K,'Digit expected, got "'+O(K)+'"')}return}if(g.isAlpha(O(K),_(K),B(K))){for(;g.isAlpha(O(K),_(K),B(K))||g.isDigit(O(K));)K.token+=O(K),P(K);Pt(S,K.token)?K.tokenType=b.DELIMITER:K.tokenType=b.SYMBOL;return}for(K.tokenType=b.UNKNOWN;O(K)!=="";)K.token+=O(K),P(K);throw Qe(K,'Syntax error in part "'+K.token+'"')}function L(K){do F(K);while(K.token===`

Callers

nothing calls this directly

Calls 2

PtFunction · 0.85
toStringMethod · 0.45

Tested by

no test coverage detected