@guihz/trading-vue-editor-tes 0.0.258 → 0.0.259

Sign up to get free protection for your applications and to get access to all the features.
@@ -117,8 +117,9 @@ ${this._prefixNameVar}.setVarValue("${q}", ${A}, ${q}, "${b}")`}n==="-="?k=`${q}
117
117
  ${this._getMembersCode()}`,r=this._parserDeclareAssignNames(e.nameList);break;default:r=this._parserStmt(e,!0),i=this._getMembersCode();const b=r.split(`
118
118
  /****/
119
119
  `);b.length>1&&(i=`${i}
120
- ${b[0]}`,r=b[1]);break}return n?`${i}
121
- return ${r}`:`${i}
120
+ ${b[0]}`,r=b[1]);break}return n?`const $$_result_ret = ${r};
121
+ ${i}
122
+ return $$_result_ret`:`${i}
122
123
  $$_result = ${r}`}_getMembersCode(){const e=this._memberIndexList[this._blockCount]||{};return Object.values(e).join(`;
123
124
  `)}_parserArrowMethod(e){let n=`$_${e.name}`;this._nameMap.set(e.name,n);const r=[...e.params],i=e.index?`$${e.index}`:"";n=`${n}${i}`,this._currentFuncName=n,this._dependsObj[n]=new Map;const s=this._parserBlock(e.block,!0,!0),b=e.hasRequest?", $paramsExpr":"";let z=`function ${n} (${this._parserParameters(r)}$posStr${b}) {
124
125
  ${s}
@@ -129,7 +130,7 @@ ${this._prefixNameVar}.setVarValue("${q}", ${A}, ${q}, "${b}")`}n==="-="?k=`${q}
129
130
  })
130
131
  `}return this._isInFunc=!1,this._currentFuncName="",this._codesCol[this._blockCount].push({funcName:n,depends:this._getDepends(n),hasRequest:e.hasRequest,code:z}),z}_parserArrowFunction(e){let n=`$_${e.name}`;this._nameMap.set(e.name,n);const r=[...e.params];n=`${n}${e.index?`$${e.index}`:""}`,this._currentFuncName=n,this._dependsObj[n]=new Map;const i=e.hasRequest?", $paramsExpr":"",s=`function ${n} (${this._parserParameters(r)}$posStr${i}) {
131
132
  ${this._parserBlock(e.block,!0,!0)}
132
- }`;return this._isInFunc=!1,this._currentFuncName="",this._codesCol[this._blockCount].push({funcName:n,depends:this._getDepends(n),hasRequest:e.hasRequest,code:s}),s}_parserParameters(e){return e.length?`{${e.map(n=>{const{name:r,defaultValue:i}=n;let s=r;if(i){const b=this._parserSingleExpression(i);s=`${s} = ${b}`}return s}).join(", ")}},`:""}_parserBlock(e,n=!1,r=!1){return r&&(this._isInFunc=!0),this._parserBlockLine(Array.isArray(e)?e:[e],n,r)}_addVarList(e){var r,i;const n=this._varlist[this._blockCount]||{};if(e.names){const s=e.posList;for(const[b,z]of e.names.entries()){const q=((r=s[b])==null?void 0:r.reName)||z;n[q]=s[b]}}else{const s=((i=e.pos)==null?void 0:i.reName)||e.name;n[s]=e.pos}this._varlist[this._blockCount]=n}_parserDeclareAssign(e){var m;const{nameList:n,value:r}=e,i=this._parserDeclareAssignNames(n);this._addVarList(n);const s={code:"",varNames:i.replace(/[\[\]]/g,"").split(", "),depends:[]},b=`$${i}_${this._blockCount}`;this._dependsObj[b]=new Map;let z=this._parserSingleExpression(r);(n==null?void 0:n.ruleType)==="VarMultiple"&&(z=`(${z}) || []`);let q=`let ${i} = ${z}`;if(n.declare){const g=`${n.pos.column}_${n.pos.lineNumber}`,y=this._isInFunc?`$posStr + "_${g}"`:`"${g}"`;q=`let ${i} = ${this._prefixNameVar}.verifyVarAndVarip("${i}", ${y}, "${n.declare}") ? ${this._prefixNameVar}.getVarValue("${i}", ${y}, "${n.declare}") : ${this._prefixNameVar}.setVarValue("${i}", ${y}, ${z}, "${n.declare}")`}return s.code=q,s.depends=this._getDepends(b),(m=this._codesCol[this._blockCount])==null||m.push(s),q}_parserDeclareAssignNames(e){var n,r;switch(e==null?void 0:e.ruleType){case"VarMultiple":const i=e.posList;return`[${e.names.map((s,b)=>{var z,q;return s==="_"?(this.__count++,`_$$${this.__count}`):(z=i[b])!=null&&z.reName?(q=i[b])==null?void 0:q.reName:Fe.includes(s)?`$${s}`:s}).join(", ")}]`;case"VarSingle":return e.name==="_"?(this.__count++,`_$$${this.__count}`):(n=e.pos)!=null&&n.reName?(r=e.pos)==null?void 0:r.reName:Fe.includes(e.name)?`$${e.name}`:e.name}return""}_parserSingleExpression(e){if(!e)return"";const{exprs:n,operator:r}=e;let i="",s=this._isInConditionalStmt;switch(e.ruleType){case p0.MemberIndexExpression:return this._parserMemberIndexExpression(e);case p0.MethodExpression:return this._parserMethodExpression(e);case p0.UnaryExpression:return`${r}${this._parserSingleExpression(n[0])}`;case p0.NotExpression:return`!${this._parserSingleExpression(n[0])}`;case p0.AdditiveExpression:return this._parserAdditiveExpression(e);case p0.MultiplicativeExpression:case p0.RelationalExpression:case p0.EqualityExpression:return this._parserEqualityExpression(e);case p0.LogicalAndExpression:return this._isInConditionalStmt=!0,i=`${this._parserSingleExpression(n[0])} && ${this._parserSingleExpression(n[1])}`,this._isInConditionalStmt=s,i;case p0.LogicalOrExpression:return this._isInConditionalStmt=!0,i=`${this._parserSingleExpression(n[0])} || ${this._parserSingleExpression(n[1])}`,this._isInConditionalStmt=s,i;case p0.TernaryExpression:return i=`${this._parserSingleExpression(n[0])} ? ${this._parserSingleExpression(n[1])} : ${this._parserSingleExpression(n[2])}`,i;case p0.Name:return this._parserName(e);case p0.Literal:return this._parseLiteral(e);case p0.ParenthesizedExpression:return`(${this._parserSingleExpression(e.exprs)})`;default:return e.name||""}}_parserEqualityExpression(e){var q,m;const{exprs:n,operator:r}=e,i=this._parserSingleExpression(n[0]),s=this._parserSingleExpression(n[1]);if(r==="/")return`${this._prefixNameVar}.div(${i}, ${s})`;if(r!=="==")return`${i} ${r} ${s}`;const b=(q=n[0])==null?void 0:q.type,z=(m=n[1])==null?void 0:m.type;return`${this._prefixNameVar}.equal(${i}, ${s}, "${b}", "${z}")`}_parserAdditiveExpression(e){const{exprs:n,operator:r}=e,i=this._parserSingleExpression(n[0]),s=this._parserSingleExpression(n[1]);return r==="-"?`${this._prefixNameVar}.sub(${i}, ${s})`:`${this._prefixNameVar}.add(${i}, ${s})`}_parserMemberIndexExpression(e){var g;const{exprs:n,isInFunc:r,ctx:i}=e,s=n[0],b=this._parserSingleExpression(n[1]);let z=this._parserSingleExpression(s);const q=i.start.tokenIndex,m=r?"$posStr":q;if(s.ruleType===p0.Name&&!s.hasMethod){let y=this._blockCount;const E=((g=s.varPos)==null?void 0:g.reName)||s.name;for(;y>=0;){const k=this._varlist[y]||{},D=k[E];if(D)return this._getUserVarMemberIndexs(D,E,y,b,r);if(s.isBuiltIn){const h=this._memberIndexList[0]||{};return h[E]=`${this._prefixNameVar}.setCacheData("${E}", ${z})`,`${this._prefixNameVar}.getCacheData("${E}", ${b}, ${z})`}if(E.includes(".")){const h=E.split(".")[0],A=k[h];if(A)return this._getUserVarMemberIndexs(A,E,y,b,r)}y--}return this._getOtherVarMemberIndexs(`${E}_${s.varScope||s.scope}`,E,s.varScope||s.scope,b,r)}else{const y=this._preRunMembers[this._blockCount]||[],E=`$$m${q}_${m}`;y.push(`const ${E} = ${z};
133
+ }`;return this._isInFunc=!1,this._currentFuncName="",this._codesCol[this._blockCount].push({funcName:n,depends:this._getDepends(n),hasRequest:e.hasRequest,code:s}),s}_parserParameters(e){return e.length?`{${e.map(n=>{const{name:r,defaultValue:i}=n;let s=r;if(i){const b=this._parserSingleExpression(i);s=`${s} = ${b}`}return s}).join(", ")}},`:""}_parserBlock(e,n=!1,r=!1){return r&&(this._isInFunc=!0),this._parserBlockLine(Array.isArray(e)?e:[e],n,r)}_addVarList(e){var r,i;const n=this._varlist[this._blockCount]||{};if(e.names){const s=e.posList;for(const[b,z]of e.names.entries()){const q=((r=s[b])==null?void 0:r.reName)||z;n[q]=s[b]}}else{const s=((i=e.pos)==null?void 0:i.reName)||e.name;n[s]=e.pos}this._varlist[this._blockCount]=n}_parserDeclareAssign(e){var m;const{nameList:n,value:r}=e,i=this._parserDeclareAssignNames(n);this._addVarList(n);const s={code:"",varNames:i.replace(/[\[\]]/g,"").split(", "),depends:[]},b=`$${i}_${this._blockCount}`;this._dependsObj[b]=new Map;let z=this._parserSingleExpression(r);(n==null?void 0:n.ruleType)==="VarMultiple"&&(z=`(${z}) || []`);let q=`let ${i} = ${z}`;if(n.declare){const g=`${n.pos.column}_${n.pos.lineNumber}`,y=this._isInFunc?`$posStr + "_${g}"`:`"${g}"`;q=`let ${i} = ${this._prefixNameVar}.verifyVarAndVarip("${i}", ${y}, "${n.declare}") ? ${this._prefixNameVar}.getVarValue("${i}", ${y}, "${n.declare}") : ${this._prefixNameVar}.setVarValue("${i}", ${y}, ${z}, "${n.declare}")`}return s.code=q,s.depends=this._getDepends(b),(m=this._codesCol[this._blockCount])==null||m.push(s),q}_parserDeclareAssignNames(e){var n,r;switch(e==null?void 0:e.ruleType){case"VarMultiple":const i=e.posList;return`[${e.names.map((s,b)=>{var z,q;return s==="_"?(this.__count++,`_$$${this.__count}`):(z=i[b])!=null&&z.reName?(q=i[b])==null?void 0:q.reName:Fe.includes(s)?`$${s}`:s}).join(", ")}]`;case"VarSingle":return e.name==="_"?(this.__count++,`_$$${this.__count}`):(n=e.pos)!=null&&n.reName?(r=e.pos)==null?void 0:r.reName:Fe.includes(e.name)?`$${e.name}`:e.name}return""}_parserSingleExpression(e){if(!e)return"";const{exprs:n,operator:r}=e;let i="",s=this._isInConditionalStmt;switch(e.ruleType){case p0.MemberIndexExpression:return this._parserMemberIndexExpression(e);case p0.MethodExpression:return this._parserMethodExpression(e);case p0.UnaryExpression:return`${r}${this._parserSingleExpression(n[0])}`;case p0.NotExpression:return`!${this._parserSingleExpression(n[0])}`;case p0.AdditiveExpression:return this._parserAdditiveExpression(e);case p0.MultiplicativeExpression:case p0.RelationalExpression:case p0.EqualityExpression:return this._parserEqualityExpression(e);case p0.LogicalAndExpression:return this._isInConditionalStmt=!0,i=`${this._parserSingleExpression(n[0])} && ${this._parserSingleExpression(n[1])}`,this._isInConditionalStmt=s,i;case p0.LogicalOrExpression:return this._isInConditionalStmt=!0,i=`${this._parserSingleExpression(n[0])} || ${this._parserSingleExpression(n[1])}`,this._isInConditionalStmt=s,i;case p0.TernaryExpression:return i=`${this._parserSingleExpression(n[0])} ? ${this._parserSingleExpression(n[1])} : ${this._parserSingleExpression(n[2])}`,i;case p0.Name:return this._parserName(e);case p0.Literal:return this._parseLiteral(e);case p0.ParenthesizedExpression:return`(${this._parserSingleExpression(e.exprs)})`;default:return e.name||""}}_parserEqualityExpression(e){var q,m;const{exprs:n,operator:r}=e;let i=this._parserSingleExpression(n[0]),s=this._parserSingleExpression(n[1]);if(r==="/")return`${this._prefixNameVar}.div(${i}, ${s})`;if(["*","%"].includes(r)||(i=`${this._prefixNameVar}.compareDataHandle(${i})`,s=`${this._prefixNameVar}.compareDataHandle(${s})`),r!=="==")return`${i} ${r} ${s}`;const b=(q=n[0])==null?void 0:q.type,z=(m=n[1])==null?void 0:m.type;return`${this._prefixNameVar}.equal(${i}, ${s}, "${b}", "${z}")`}_parserAdditiveExpression(e){const{exprs:n,operator:r}=e,i=this._parserSingleExpression(n[0]),s=this._parserSingleExpression(n[1]);return r==="-"?`${this._prefixNameVar}.sub(${i}, ${s})`:`${this._prefixNameVar}.add(${i}, ${s})`}_parserMemberIndexExpression(e){var g;const{exprs:n,isInFunc:r,ctx:i}=e,s=n[0],b=this._parserSingleExpression(n[1]);let z=this._parserSingleExpression(s);const q=i.start.tokenIndex,m=r?"$posStr":q;if(s.ruleType===p0.Name&&!s.hasMethod){let y=this._blockCount;const E=((g=s.varPos)==null?void 0:g.reName)||s.name;for(;y>=0;){const k=this._varlist[y]||{},D=k[E];if(D)return this._getUserVarMemberIndexs(D,E,y,b,r);if(s.isBuiltIn){const h=this._memberIndexList[0]||{};return h[E]=`${this._prefixNameVar}.setCacheData("${E}", ${z})`,`${this._prefixNameVar}.getCacheData("${E}", ${b}, ${z})`}if(E.includes(".")){const h=E.split(".")[0],A=k[h];if(A)return this._getUserVarMemberIndexs(A,E,y,b,r)}y--}return this._getOtherVarMemberIndexs(`${E}_${s.varScope||s.scope}`,E,s.varScope||s.scope,b,r)}else{const y=this._preRunMembers[this._blockCount]||[],E=`$$m${q}_${m}`;y.push(`const ${E} = ${z};
133
134
  ${this._prefixNameVar}.setCacheData("m${q}_" + ${m}, ${E})
134
135
  `),this._preRunMembers[this._blockCount]=y}return`${this._prefixNameVar}.getCacheData("m${q}_" + ${m}, ${b}, ${z})`}_getOtherVarMemberIndexs(e,n,r,i,s){const b=this._memberIndexList[r]||{};e=s&&r!==0?`"${e}_" + $posStr`:`"${e}"`;const z=`${this._prefixNameVar}.setCacheData(${e}, ${n})`;return b[e]=z,this._memberIndexList[r]=b,this._setDepend({name:n,scope:r,memberCode:z}),`${this._prefixNameVar}.getCacheData(${e}, ${i}, ${n})`}_getUserVarMemberIndexs(e,n,r,i,s){return this._getOtherVarMemberIndexs(`${n}_${e.lineNumber}_${e.column}`,n,r,i,s)}_parseLiteral(e){return e.type.endsWith(P.COLOR)?`"${this._colorToRgba(e.value)}"`:e.value}_colorToRgba(e){if(e.startsWith("#")){let n;const r=parseInt(e.substring(1,3),16),i=parseInt(e.substring(3,5),16),s=parseInt(e.substring(5,7),16),b=e.substring(7);return b?n=parseInt(b,16)/255:n=1,`rgba(${Math.round(r)}, ${Math.round(i)}, ${Math.round(s)}, ${n.toFixed(2)})`}return e}_parserName(e,n=!1){var m;const{exprs:r,varScope:i,hasMethod:s,arg:b,varPos:z}=e;let q=[];for(const g of r){if(typeof g=="string"){q.push((z==null?void 0:z.reName)||g);continue}let y="";const{column:E,line:k}=((m=g==null?void 0:g.ctx)==null?void 0:m.start)||{},D=`${k}_${E}`;g.selfArg?(y=this._parserMethodElement(g,D,q.join(".")),q=[]):y=this._parserMethodElement(g,D,""),q.push(y)}if(e.expr&&q.unshift(`(${this._parserSingleExpression(e.expr)})`),e.isBuiltIn){const g=q.join(".");g==="strategy.opentrades"?q.push("opentrades"):g==="chart.left_visible_bar_time"?this._hasLeftVisibleBarTime=!0:g==="chart.right_visible_bar_time"&&(this._hasRightVisibleBarTime=!0),q.unshift(e.isConst?this._prefixNameConst:this._prefixNameVar)}else if(Fe.includes(q[0])&&(q[0]=`$${q[0]}`),!s){const g={name:q[0],scope:i||(b==null?void 0:b.varScope)||0,isAgainAssign:n,isArg:b==null?void 0:b.isArg,functionName:this._currentFuncName};this._setDepend(g)}return q.join(".")}_setDepend(e){e.name.endsWith("?")&&(e.name=e.name.replace("?",""));const n=e.name;for(const r of Object.values(this._dependsObj)){const i=r.get(n)||{},s={...e,...i};r.set(n,s)}}_parserMethodExpression(e){const{exprs:n,ctx:r}=e,{column:i,line:s}=r.start,b=`${s}_${i}`;let z=this._isInFunc?`$posStr + "__${b}"`:`"${b}"`;z=this._isInLoop?`$$count${this._count} + "_" + ${z}`:z,i===0&&(this._dependsObj[z]=new Map);let q=!1,m=[];for(const y of n){y.hasMemberIndex&&(q=!0);let E="";y.selfArg?(E=this._parserMethodElement(y,z,m.join(".")),m=[]):E=this._parserMethodElement(y,z,""),m.push(E)}const g=m.join(".");if(i===0&&this._codesCol[this._blockCount].push({code:g,isStmtFunc:!0,depends:this._getDepends(z)}),this._isInConditionalStmt&&q){const y=`$$result_${this._preRunMemberFuncsCount}`;this._preRunMemberFuncsCount++;const E=this._preRunMembersFuncs[this._blockCount]||[];return E.push(`const ${y} = ${g}`),this._preRunMembersFuncs[this._blockCount]=E,y}return g}_parserMethodElement(e,n,r){let i="",s="";const b={...e.args};e.expr&&(i=`(${this._parserSingleExpression(e.expr)})`),i=i?`${i}.${e.name}`:this._nameMap.get(e.name)||e.name,e.hasVarPrefix&&(i=`${this._prefixNameVar}.${i}`);let z=!1;if(e.isBuiltIn){if(Vu.includes(i))i=`${i}.${i}`;else if(i==="max_bars_back"){const{name:m,varPos:g}=b.var||b.params[0];s=`var_name: "${g?`${m}_${g.lineNumber}_${g.column}`:m}"`}i.startsWith(P.INPUT)?(s=`index: ${this._inputCount}`,this._inputCount++):i.startsWith("request.")&&(z=!0),i=`${this._prefixNameFunc}.${i}`}else{const m=i.split(".");let g=m[0];Fe.includes(g)&&(g=`$${g}`,i=m.join("."))}if(e.selfArg){const m=i.split("."),g=m.length,y=m.slice(0,g-1);r&&y.unshift(r),Object.assign(b,{[e.selfArg.name]:{name:y.join(".")}}),i=m[g-1],i=this._nameMap.get(i)||i,this._setDepend({name:m[0],scope:e.varScope||0})}i=`${i}${e.index?`$${e.index}`:""}`;const q=this._parserArguments(b,s,n,z,e.hasRequest,i);if(!e.isBuiltIn){const m=i.split(".");if(m.length>1?this._setDepend({name:m[0],scope:e.varScope||0}):this._setDepend({name:i,scope:0,hasRequest:e.hasRequest,isFunc:!0}),e.funcName){const g=this._nameMap.get(e.funcName)||e.funcName;this._setDepend({name:g,originName:i,scope:0,hasRequest:e.hasRequest,isFunc:!0})}}return i+q}_parserArguments(e,n,r,i=!1,s=!1,b){const z=e.params||[];delete e.params;const q=[],m=[];let g=[],y;const E=(D,h)=>{s&&(this._dependsObj[r]=new Map),i&&h==="expression"&&(this._dependsObj[`$arg_${h}${r}`]=new Map);let A=D.ruleType===p0.Brackethesized?this._parserBrackethesized(D):this._parserSingleExpression(D);if(h&&!["arg0, arg1, ...","number0, number1, ..."].includes(h)){D.isSourceType?q.push(`sourceTypeName: "${D.name}"`):h==="defval"&&b===`${this._prefixNameFunc}.input.enum`&&(y=this._enums.get(D.enumName));const d=this._requestParamsHandle(i,h,r,s,A,b);A=(d==null?void 0:d.code)||A,d!=null&&d.paramsExpr&&g.push(d==null?void 0:d.paramsExpr),q.push(`${h}: ${A}`)}else m.push(A)};for(const D of z)E(D,D.originName);for(const D of Object.keys(e))E(e[D],D);i&&this._isInFunc&&q.push("paramsExpr: $paramsExpr"),n&&q.push(n),y&&q.unshift(`options: [${y.join(", ")}]`);const k=g.length?`, [${this._isInFunc?"...$paramsExpr, ":""}${g.join(", ")}]`:"";return m.length?`({${q.join(", ")}}, [${m.join(", ")}], ${r}${k})`:q.length?`({${q.join(", ")}}, ${r}${k})`:`(${r}${k})`}_requestParamsHandle(e,n,r,i,s,b){const z=this._memberIndexList[0],q={};for(const m of Object.keys(z))m!=="_"&&(q[m]=z[m]);if(e&&n==="expression"){const m=this._getDepends(`$arg_${n}${r}`),g=this._getExpressionContext(m);return g.push({scope:1,depends:m.map(y=>(y.isArg&&(y.functionName=this._currentFuncName),y)),code:s,memberCodes:q}),{code:`'${Va(JSON.stringify(g))}'`}}else if(i){const m=this._getDepends(r),g=this._getExpressionContext(m);return g.push({scope:2,varNames:n,methodName:b,depends:m,dependSelf:m.some(y=>y.name===n),code:`${n} = ${s}`,memberCodes:q}),{paramsExpr:`'${Va(JSON.stringify(g))}'`}}}_getExpressionContext(e){const n=[],r=[];return this._getDependsCode(e,n,r),n}_getDependsCode(e,n,r){var b,z;const i=[];for(const q of e)if(!q.isArg){const m=this._codesCol[q.scope||0],g=m.find(E=>{var k;return((k=E.varNames)==null?void 0:k.includes(q.name))||E.funcName===q.name});g&&(r.includes(g)||(g.funcName&&i.push(g),r.push(g),g.depends.length&&this._getDependsCode(g.depends,n,r),n.push({scope:q.scope||0,code:g.code,depends:g.depends,funcName:g.funcName,varNames:(b=g.varNames)==null?void 0:b.join(", ")})));const y=m.filter(E=>E.depends.some(k=>k.name===q.name&&k.scope===q.scope&&k.isAgainAssign!==!1&&!k.isFunc));for(const E of y)r.includes(E)||(E.funcName&&i.push(E),r.push(E),E.depends.length&&this._getDependsCode(E.depends,n,r),n.push({scope:q.scope||0,code:E.code,depends:E.depends,funcName:E.funcName,varNames:(z=E.varNames)==null?void 0:z.join(", ")}))}const s=this._codesCol[0];for(const q of i){const m=s.filter(g=>g.isStmtFunc&&g.depends.some(y=>y.isFunc&&y.name===q.funcName));for(const g of m)if(!r.includes(g)){r.push(g);const y=g.depends;y.length&&this._getDependsCode(y,n,r),n.push({scope:0,code:g.code,depends:y,isStmtFunc:!0,funcName:g.funcName})}}}_parserBrackethesized(e){return`[${e.exprs.map(r=>this._parserSingleExpression(r)).join(", ")}]`}_functionalProcess(e,n){return`(function () {
135
136
  let $$_result=${n&&typeof n=="string"&&n.endsWith("string")?'""':"undefined"};
@@ -231,8 +232,9 @@ ${this._prefixNameVar}.setVarValue("${q}", ${A}, ${q}, "${b}")`}n==="-="?k=`${q}
231
232
  ${this._getMembersCode()}`,r=this._parserDeclareAssignNames(e.nameList);break;default:r=this._parserStmt(e,!0),i=this._getMembersCode();const b=r.split(`
232
233
  /****/
233
234
  `);b.length>1&&(i=`${i}
234
- ${b[0]}`,r=b[1]);break}return n?`${i}
235
- return ${r}`:`${i}
235
+ ${b[0]}`,r=b[1]);break}return n?`const $$_result_ret = ${r};
236
+ ${i}
237
+ return $$_result_ret`:`${i}
236
238
  $$_result = ${r}`}_getMembersCode(){const e=this._memberIndexList[this._blockCount]||{};return Object.values(e).join(`;
237
239
  `)}_parserArrowMethod(e){let n=`$_${e.name}`;this._nameMap.set(e.name,n);const r=[...e.params],i=e.index?`$${e.index}`:"";n=`${n}${i}`,e.isExport&&this._exportEles.push({key:`${e.name}${i}`,name:n}),this._currentFuncName=n,this._dependsObj[n]=new Map;const s=this._parserBlock(e.block,!0,!0),b=e.hasRequest?", $paramsExpr":"";let z=`function ${n} (${this._parserParameters(r)}$posStr${b}) {
238
240
  if ($posStr.startsWith('export')) return;
@@ -294,6 +296,6 @@ Input files:
294
296
  //# sourceMappingURL=data:application/json;charset=utf-8;base64,`+Tq(y)}else e.sourceMap.url&&(q.code+=`
295
297
  //# sourceMappingURL=`+e.sourceMap.url)}return e.nameCache&&e.mangle&&(e.mangle.cache&&(e.nameCache.vars=XO(e.mangle.cache)),e.mangle.properties&&e.mangle.properties.cache&&(e.nameCache.props=XO(e.mangle.properties.cache))),m&&m.source_map&&m.source_map.destroy(),r&&(r.end=Date.now(),q.timings={parse:.001*(r.rename-r.parse),rename:.001*(r.compress-r.rename),compress:.001*(r.scope-r.compress),scope:.001*(r.mangle-r.scope),mangle:.001*(r.properties-r.mangle),properties:.001*(r.format-r.properties),format:.001*(r.end-r.format),total:.001*(r.end-r.start)}),q}async function FO(t,e,n){const r=Nq(t,e,n);let i,s;do s=r.next(await i),i=s.value;while(!s.done);return s.value}function UO(t){const e=new O3(t),n=new tp(e);n.removeErrorListeners();const r=new M3(n),i=new x(r);i._interp.predictionMode=q3.SLL,i.removeErrorListeners();const s=new xq;n.addErrorListener(s),i.addErrorListener(s),i.buildParseTrees=!0;const b=i.program(),z=r.tokens.filter(q=>q.channel===2);return{errors:s.errors,ast:b,comments:z}}async function Cq(t,e,n,r){const{errors:i,ast:s,comments:b}=UO(t+`
296
298
 
297
- `),z=new jz(r,b,n),q=await z.visit(s);let m=i.splice(0,1);m.length||(m=z.errors);let g="";const y=new n4("$");let E=e?"":y.preParser(q);const k={};if(e&&!m.some(D=>D.type===Be.Error)){const{code:D="",hasLeftVisibleBarTime:h,hasRightVisibleBarTime:A}=y.parser(q)||{};Object.assign(k,{hasLeftVisibleBarTime:h,hasRightVisibleBarTime:A}),E=y.preParseCode;try{g=(await FO(D,{compress:!0,mangle:!0})).code||"";const v={message:O0.indiRunErr,type:Be.Error,startColumn:0,startLineNumber:0,endColumn:0,endLineNumber:0};if(z.hasUseDrawFunc){if(z.scriptType===sr.library)z.exportPositions.length||(v.message=O0.libraryExportErr,m.push(v));else if(z.exportPositions.length){const L=z.exportPositions.map(S=>{const{type:I,...K}=S;return{message:l0(O0.exportUseErr,{type:I}),type:Be.Error,...K}});m.push(...L)}}else switch(z.scriptType){case sr.indicator:m.push(v);break;case sr.strategy:z.hasUseCreateOrderFunc||(v.message=O0.strategyRunErr,m.push(v));break}}catch(d){m.push({message:(d==null?void 0:d.message)||"minify error",type:Be.Error,startColumn:0,startLineNumber:0,endColumn:0,endLineNumber:0})}}return{errors:m,functions:Object.fromEntries(z.userFunctions),variables:Object.fromEntries(z.userVariables),types:Object.fromEntries(z.userTypes),methods:Object.fromEntries(z.userMethods),overloadsFuncs:z.overloadsFuncs,imports:Object.fromEntries(z.imports),enums:Object.fromEntries(z.userEnums),codeStr:g,preParserCode:E,config:k}}async function Bq(t,e,n,r){const{ast:i,comments:s}=UO(t+`
299
+ `),z=new jz(r,b,n),q=await z.visit(s);let m=i.splice(0,1);m.length||(m=z.errors);let g="";const y=new n4("$");let E=e?"":y.preParser(q);console.log(E);const k={};if(e&&!m.some(D=>D.type===Be.Error)){const{code:D="",hasLeftVisibleBarTime:h,hasRightVisibleBarTime:A}=y.parser(q)||{};Object.assign(k,{hasLeftVisibleBarTime:h,hasRightVisibleBarTime:A}),E=y.preParseCode;try{g=(await FO(D,{compress:!0,mangle:!0})).code||"";const v={message:O0.indiRunErr,type:Be.Error,startColumn:0,startLineNumber:0,endColumn:0,endLineNumber:0};if(z.hasUseDrawFunc){if(z.scriptType===sr.library)z.exportPositions.length||(v.message=O0.libraryExportErr,m.push(v));else if(z.exportPositions.length){const L=z.exportPositions.map(S=>{const{type:I,...K}=S;return{message:l0(O0.exportUseErr,{type:I}),type:Be.Error,...K}});m.push(...L)}}else switch(z.scriptType){case sr.indicator:m.push(v);break;case sr.strategy:z.hasUseCreateOrderFunc||(v.message=O0.strategyRunErr,m.push(v));break}}catch(d){m.push({message:(d==null?void 0:d.message)||"minify error",type:Be.Error,startColumn:0,startLineNumber:0,endColumn:0,endLineNumber:0})}}return{errors:m,functions:Object.fromEntries(z.userFunctions),variables:Object.fromEntries(z.userVariables),types:Object.fromEntries(z.userTypes),methods:Object.fromEntries(z.userMethods),overloadsFuncs:z.overloadsFuncs,imports:Object.fromEntries(z.imports),enums:Object.fromEntries(z.userEnums),codeStr:g,preParserCode:E,config:k}}async function Bq(t,e,n,r){const{ast:i,comments:s}=UO(t+`
298
300
 
299
301
  `),b=new jz(r,s,n),z=await b.visit(i),{name:q,index:m}=b.endExport,g=z.findIndex(h=>h.name===q&&h.index===m),y=z.slice(0,g+1),k=new r4("$",e).parser(y)||"",D=await FO(k,{compress:!0,mangle:!0});return{...b.exportLibs,description:b.description,codeStr:D.code||""}}class xq extends u3{constructor(){super(...arguments);T(this,"errors",[])}syntaxError(n,r,i,s,b){this.errors.push({message:`syntax error: ${b.replace(/expecting.+/,"")}`,type:Be.Error,startColumn:s,startLineNumber:i,endColumn:s,endLineNumber:i})}}wp({parseTcc:Cq,parseLibraryCode:Bq})})();