MCPcopy Create free account
hub / github.com/ChinaSiro/claude-code-sourcemap / Gm1

Function Gm1

package/cli.js:1624–1624  ·  view source on GitHub ↗
(q)

Source from the content-addressed store, hash-verified

1622`||P==="")H=M;else r5(q.L,J)}if(!H)H=pV4(q);if(!H)return _;return h8(q,"binary_expression",_.startIndex,H.endIndex,[_,$,H])}if(w==="="){let j=pV4(q);if(!j)return _;return h8(q,"binary_expression",_.startIndex,j.endIndex,[_,$,j])}if(w==="=="||w==="!="){let j=i3z(q);if(j.length===0)return _;let H=j[j.length-1];return h8(q,"binary_expression",_.startIndex,H.endIndex,[_,$,...j])}}let O=Hm1(q,K);if(!O)return _;return h8(q,"binary_expression",_.startIndex,O.endIndex,[_,$,O])}function pV4(q){mq(q.L);let K=q.L.b,_=0,z=0;while(q.L.i<q.L.len){let Y=u8(q.L);if(Y==="\\"&&q.L.i+1<q.L.len){J8(q.L),J8(q.L);continue}if(Y===`
1623`)break;if(_===0&&z===0){if(Y==="]"&&u8(q.L,1)==="]")break;if(Y===" "||Y==="\t"){let $=q.L.i;while($<q.L.len&&(q.L.src[$]===" "||q.L.src[$]==="\t"))$++;let A=q.L.src[$]??"",O=q.L.src[$+1]??"";if(A==="]"&&O==="]"||A==="&"&&O==="&"||A==="|"&&O==="|")break;J8(q.L);continue}}if(Y==="(")_++;else if(Y===")"&&_>0)_--;else if(Y==="[")z++;else if(Y==="]"&&z>0)z--;J8(q.L)}if(q.L.b===K)return null;return h8(q,"regex",K,q.L.b,[])}function i3z(q){mq(q.L);let K=[],_=q.L.b,z=q.L.i,Y=0,$=()=>{if(q.L.i>z){let A=q.src.slice(z,q.L.i),O=/^\d+$/.test(A)?"number":"extglob_pattern";K.push(h8(q,O,_,q.L.b,[]))}};while(q.L.i<q.L.len){let A=u8(q.L);if(A==="\\"&&q.L.i+1<q.L.len){J8(q.L),J8(q.L);continue}if(A===`
1624`)break;if(Y===0){if(A==="]"&&u8(q.L,1)==="]")break;if(A===" "||A==="\t"){let O=q.L.i;while(O<q.L.len&&(q.L.src[O]===" "||q.L.src[O]==="\t"))O++;let w=q.L.src[O]??"",j=q.L.src[O+1]??"";if(w==="]"&&j==="]"||w==="&"&&j==="&"||w==="|"&&j==="|")break;J8(q.L);continue}}if(A==="$"){let O=u8(q.L,1);if(O==="("||O==="{"||cv(O)||vV6.has(O)){$();let w=Sr(q);if(w)K.push(w);_=q.L.b,z=q.L.i;continue}}if(A==='"'){$(),K.push(hr(q)),_=q.L.b,z=q.L.i;continue}if(A==="'"){$();let O=u9(q.L,"arg");K.push(i5(q,"raw_string",O)),_=q.L.b,z=q.L.i;continue}if(A==="(")Y++;else if(A===")"&&Y>0)Y--;J8(q.L)}return $(),K}function Hm1(q,K){if(mq(q.L),K==="]"&&u8(q.L)==="]")return null;if(K==="]]"&&u8(q.L)==="]"&&u8(q.L,1)==="]")return null;return dv(q,"arg")}function YN8(q,K,_="var"){return $o6(q,K,_)}function Yo6(q,K,_="var"){let z=[];while(!0){let Y=$o6(q,K,_);if(Y)z.push(Y);if(mq(q.L),u8(q.L)===","&&!$N8(q,K)){J8(q.L);continue}break}return z}function $o6(q,K,_){let z=Jm1(q,K,0,_);if(!z)return null;if(mq(q.L),u8(q.L)==="?"){let Y=q.L.b;J8(q.L);let $=h8(q,"?",Y,q.L.b,[]),A=Jm1(q,":",0,_);mq(q.L);let O;if(u8(q.L)===":"){let J=q.L.b;J8(q.L),O=h8(q,":",J,q.L.b,[])}else O=h8(q,":",q.L.b,q.L.b,[]);let w=$o6(q,K,_),j=w??O,H=[z,$];if(A)H.push(A);if(H.push(O),w)H.push(w);return h8(q,"ternary_expression",z.startIndex,j.endIndex,H)}return z}function a3z(q){let K=u8(q.L),_=u8(q.L,1),z=u8(q.L,2);if(K==="<"&&_==="<"&&z==="=")return["<<=",3];if(K===">"&&_===">"&&z==="=")return[">>=",3];if(K==="*"&&_==="*")return["**",2];if(K==="<"&&_==="<")return["<<",2];if(K===">"&&_===">")return[">>",2];if(K==="="&&_==="=")return["==",2];if(K==="!"&&_==="=")return["!=",2];if(K==="<"&&_==="=")return["<=",2];if(K===">"&&_==="=")return[">=",2];if(K==="&"&&_==="&")return["&&",2];if(K==="|"&&_==="|")return["||",2];if(K==="+"&&_==="=")return["+=",2];if(K==="-"&&_==="=")return["-=",2];if(K==="*"&&_==="=")return["*=",2];if(K==="/"&&_==="=")return["/=",2];if(K==="%"&&_==="=")return["%=",2];if(K==="&"&&_==="=")return["&=",2];if(K==="^"&&_==="=")return["^=",2];if(K==="|"&&_==="=")return["|=",2];if(K==="+"&&_!=="+")return["+",1];if(K==="-"&&_!=="-")return["-",1];if(K==="*")return["*",1];if(K==="/")return["/",1];if(K==="%")return["%",1];if(K==="<")return["<",1];if(K===">")return[">",1];if(K==="&")return["&",1];if(K==="|")return["|",1];if(K==="^")return["^",1];if(K==="=")return["=",1];return null}function Jm1(q,K,_,z){let Y=Mm1(q,K,z);if(!Y)return null;while(!0){if(mq(q.L),$N8(q,K))break;if(u8(q.L)===",")break;let $=a3z(q);if(!$)break;let[A,O]=$,w=r3z[A];if(w===void 0||w<_)break;let j=q.L.b;for(let X=0;X<O;X++)J8(q.L);let H=h8(q,A,j,q.L.b,[]),J=o3z.has(A)?w:w+1,M=Jm1(q,K,J,z);if(!M)break;Y=h8(q,"binary_expression",Y.startIndex,M.endIndex,[Y,H,M])}return Y}function Mm1(q,K,_){if(mq(q.L),$N8(q,K))return null;let z=u8(q.L),Y=u8(q.L,1);if(z==="+"&&Y==="+"||z==="-"&&Y==="-"){let $=q.L.b;J8(q.L),J8(q.L);let A=h8(q,z+Y,$,q.L.b,[]),O=Mm1(q,K,_);if(!O)return A;return h8(q,"unary_expression",A.startIndex,O.endIndex,[A,O])}if(z==="-"||z==="+"||z==="!"||z==="~"){if(_!=="var"&&z==="-"&&xj(Y)){let w=q.L.b;J8(q.L);while(xj(u8(q.L)))J8(q.L);return h8(q,"number",w,q.L.b,[])}let $=q.L.b;J8(q.L);let A=h8(q,z,$,q.L.b,[]),O=Mm1(q,K,_);if(!O)return A;return h8(q,"unary_expression",A.startIndex,O.endIndex,[A,O])}return s3z(q,K,_)}function s3z(q,K,_){let z=t3z(q,K,_);if(!z)return null;let Y=u8(q.L),$=u8(q.L,1);if(Y==="+"&&$==="+"||Y==="-"&&$==="-"){let A=q.L.b;J8(q.L),J8(q.L);let O=h8(q,Y+$,A,q.L.b,[]);return h8(q,"postfix_expression",z.startIndex,O.endIndex,[z,O])}return z}function t3z(q,K,_){if(mq(q.L),$N8(q,K))return null;let z=u8(q.L);if(z==="("){let Y=q.L.b;J8(q.L);let $=h8(q,"(",Y,q.L.b,[]),A=Yo6(q,")",_);mq(q.L);let O;if(u8(q.L)===")"){let w=q.L.b;J8(q.L),O=h8(q,")",w,q.L.b,[])}else O=h8(q,")",q.L.b,q.L.b,[]);return h8(q,"parenthesized_expression",$.startIndex,O.endIndex,[$,...A,O])}if(z==='"')return hr(q);if(z==="$")return Sr(q);if(xj(z)){let Y=q.L.b;while(xj(u8(q.L)))J8(q.L);if(q.L.b-Y===1&&z==="0"&&(u8(q.L)==="x"||u8(q.L)==="X")){J8(q.L);while(T3z(u8(q.L)))J8(q.L)}else if(u8(q.L)==="#"){J8(q.L);while(v3z(u8(q.L)))J8(q.L)}return h8(q,"number",Y,q.L.b,[])}if(cv(z)){let Y=q.L.b;while(MU(u8(q.L)))J8(q.L);let $=u8(q.L);if(_==="assign"){mq(q.L);let O=u8(q.L),w=u8(q.L,1);if(O==="="&&w!=="="){let j=h8(q,"variable_name",Y,q.L.b,[]),H=q.L.b;J8(q.L);let J=h8(q,"=",H,q.L.b,[]),M=$o6(q,K,_),X=M?M.endIndex:J.endIndex;return h8(q,"variable_assignment",Y,X,M?[j,J,M]:[j,J])}}if($==="["){let O=h8(q,"variable_name",Y,q.L.b,[]),w=q.L.b;J8(q.L);let j=h8(q,"[",w,q.L.b,[]),H=$o6(q,"]","var")??Sr(q);mq(q.L);let J;if(u8(q.L)==="]"){let X=q.L.b;J8(q.L),J=h8(q,"]",X,q.L.b,[])}else J=h8(q,"]",q.L.b,q.L.b,[]);let M=H?[O,j,H,J]:[O,j,J];return h8(q,"subscript",Y,J.endIndex,M)}return h8(q,_==="var"?"variable_name":"word",Y,q.L.b,[])}return null}function $N8(q,K){let _=u8(q.L);if(K==="))")return _===")"&&u8(q.L,1)===")";if(K===")")return _===")";if(K===";")return _===";";if(K===":")return _===":";if(K==="]")return _==="]";if(K==="}")return _==="}";if(K===":}")return _===":"||_==="}";return _===""||_===`
1625`}var W3z,D3z,vV6,f3z,Pm1,r3z,o3z;var fm1=y(()=>{W3z={parse:V3z},D3z=Promise.resolve();vV6=new Set(["?","$","@","*","#","-","!","_"]),f3z=new Set(["export","declare","typeset","readonly","local"]),Pm1=new Set(["if","then","elif","else","fi","while","until","for","in","do","done","case","esac","function","select"]);r3z={"=":2,"+=":2,"-=":2,"*=":2,"/=":2,"%=":2,"<<=":2,">>=":2,"&=":2,"^=":2,"|=":2,"||":4,"&&":5,"|":6,"^":7,"&":8,"==":9,"!=":9,"<":10,">":10,"<=":10,">=":10,"<<":11,">>":11,"+":12,"-":12,"*":13,"/":13,"%":13,"**":14},o3z=new Set(["=","+=","-=","*=","/=","%=","<<=",">>=","&=","^=","|=","**"])});var Tm1={};T8(Tm1,{parseCommandRaw:()=>Ao6,parseCommand:()=>Zm1,extractCommandArguments:()=>Gm1,ensureInitialized:()=>z9z,PARSE_ABORTED:()=>eO6});function _9z(q){if(lV4)return;lV4=!0,N(q?"tree-sitter: native module loaded":"tree-sitter: unavailable"),d("tengu_tree_sitter_load",{success:q})}async function z9z(){await Xm1()}async function Zm1(q){if(!q||q.length>nV4)return null;return null}async function Ao6(q){if(!q||q.length>nV4)return null;{await Xm1();let K=BV4();if(_9z(K!==null),!K)return null;try{let _=K.parse(q);if(_===null)return d("tengu_tree_sitter_parse_abort",{cmdLength:q.length,panic:!1}),eO6;return _}catch{return d("tengu_tree_sitter_parse_abort",{cmdLength:q.length,panic:!0}),eO6}}return null}function Gm1(q){if(q.type==="declaration_command"){let z=q.children[0];return z&&e3z.has(z.text)?[z.text]:[]}let K=[],_=!1;for(let z of q.children){if(z.type==="variable_assignment")continue;if(z.type==="command_name"||!_&&z.type==="word"){_=!0,K.push(z.text);continue}if(q9z.has(z.type))K.push(Y9z(z.text));else if(K9z.has(z.type))break}return K}function Y9z(q){return q.length>=2&&(q[0]==='"'&&q.at(-1)==='"'||q[0]==="'"&&q.at(-1)==="'")?q.slice(1,-1):q}var nV4=1e4,e3z,q9z,K9z,lV4=!1,eO6;var qw6=y(()=>{k8();_8();fm1();e3z=new Set(["export","declare","typeset","readonly","local","unset","unsetenv"]),q9z=new Set(["word","string","raw_string","number"]),K9z=new Set(["command_substitution","process_substitution"]);eO6=Symbol("parse-aborted")});function jN8(q){return q.includes(wN8)||q.includes(Cr)}function tV4(q){if(!q)return-2;if(q==="ERROR")return-1;let K=X9z.indexOf(q);return K>=0?K+1:0}function T9z(q){if(!q.includes("{"))return q;let K=[],_=!1,z=!1,Y=0;while(Y<q.length){let $=q[Y];if(_){if($==="'")_=!1;K.push($==="{"?" ":$),Y++}else if(z)if($==="\\"&&(q[Y+1]==='"'||q[Y+1]==="\\"))K.push($,q[Y+1]),Y+=2;else{if($==='"')z=!1;K.push($==="{"?" ":$),Y++}else if($==="\\"&&Y+1<q.length)K.push($,q[Y+1]),Y+=2;else{if($==="'")_=!0;else if($==='"')z=!0;K.push($),Y++}}return K.join("")}async function eV4(q){if(q==="")return{kind:"simple",commands:[]};let K=await Ao6(q);return K===null?{kind:"parse-unavailable"}:Nm1(q,K)}function Nm1(q,K){if(P9z.test(q))return{kind:"too-complex",reason:"Contains control characters"};if(W9z.test(q))return{kind:"too-complex",reason:"Contains Unicode whitespace"};if(D9z.test(q))return{kind:"too-complex",reason:"Contains backslash-escaped whitespace"};if(f9z.test(q))return{kind:"too-complex",reason:"Contains zsh ~[ dynamic directory syntax"};if(Z9z.test(q))return{kind:"too-complex",reason:"Contains zsh =cmd equals expansion"};if(G9z.test(T9z(q)))return{kind:"too-complex",reason:"Contains brace with quote character (expansion obfuscation)"};if(q.trim()==="")return{kind:"simple",commands:[]};if(K===eO6)return{kind:"too-complex",reason:"Parser aborted (timeout or resource limit) — possible adversarial input",nodeType:"PARSE_ABORT"};return v9z(K)}function v9z(q){let K=[],z=XU(q,K,new Map);if(z)return z;return{kind:"simple",commands:K}}function XU(q,K,_){if(q.type==="command"){let z=N9z(q,[],K,_);if(z.kind!=="simple")return z;return K.push(...z.commands),null}if(q.type==="redirected_statement")return k9z(q,K,_);if(q.type==="comment")return null;if($9z.has(q.type)){let z=q.type==="pipeline",Y=!1;if(!z){for(let O of q.children)if(O&&(O.type==="||"||O.type==="&")){Y=!0;break}}let $=Y?new Map(_):null,A=z?new Map(_):_;for(let O of q.children){if(!O)continue;if(A9z.has(O.type)){if(O.type==="||"||O.type==="|"||O.type==="|&"||O.type==="&")A=new Map($??_);continue}let w=XU(O,K,A);if(w)return w}return null}if(q.type==="negated_command"){for(let z of q.children){if(!z)continue;if(z.type==="!")continue;return XU(z,K,_)}return null}if(q.type==="declaration_command"){let z=[];for(let Y of q.children){if(!Y)continue;switch(Y.type){case"export":case"local":case"readonly":case"declare":case"typeset":z.push(Y.text);break;case"word":case"number":case"raw_string":case"string":case"concatenation":{let $=PU(Y,K,_);if(typeof $!=="string")return $;if((z[0]==="declare"||z[0]==="typeset"||z[0]==="local")&&/^-[a-zA-Z]*[niaA]/.test($))return{kind:"too-complex",reason:`declare flag ${$} changes assignment semantics (nameref/integer/array)`,nodeType:"declaration_command"};if((z[0]==="declare"||z[0]==="typeset"||z[0]==="local")&&$[0]!=="-"&&/^[^=]*\[/.test($))return{kind:"too-complex",reason:`declare positional '${$}' contains array subscript — bash evaluates $(cmd) in subscripts`,nodeType:"declaration_command"};z.push($);break}case"variable_assignment":{let $=km1(Y,K,_);if("kind"in $)return $;oV4(_,$),z.push(`${$.name}=${$.value}`);break}case"variable_name":z.push(Y.text);break;default:return EH(Y)}}return K.push({argv:z,envVars:[],redirects:[],text:q.text}),null}if(q.type==="variable_assignment"){let z=km1(q,K,_);if("kind"in z)return z;return oV4(_,z),null}if(q.type==="for_statement"){let z=null,Y=null;for(let A of q.children){if(!A)continue;if(A.type==="variable_name")z=A.text;else if(A.type==="do_group")Y=A;else if(A.type==="for"||A.type==="in"||A.type==="select"||A.type===";")continue;else if(A.type==="command_substitution"){let O=ym1(A,K,_);if(O)return O}else{let O=PU(A,K,_);if(typeof O!=="string")return O}}if(z===null||Y===null)return EH(q);if(z==="PS4"||z==="IFS")return{kind:"too-complex",reason:`${z} as loop variable bypasses assignment validation`,nodeType:"for_statement"};_.set(z,Cr);let $=new Map(_);for(let A of Y.children){if(!A)continue;if(A.type==="do"||A.type==="done"||A.type===";")continue;let O=XU(A,K,$);if(O)return O}return null}if(q.type==="if_statement"||q.type==="while_statement"){let z=!1;for(let Y of q.children){if(!Y)continue;if(Y.type==="if"||Y.type==="fi"||Y.type==="else"||Y.type==="elif"||Y.type==="while"||Y.type==="until"||Y.type===";")continue;if(Y.type==="then"){z=!0;continue}if(Y.type==="do_group"){let w=new Map(_);for(let j of Y.children){if(!j)continue;if(j.type==="do"||j.type==="done"||j.type===";")continue;let H=XU(j,K,w);if(H)return H}continue}if(Y.type==="elif_clause"||Y.type==="else_clause"){let w=new Map(_);for(let j of Y.children){if(!j)continue;if(j.type==="elif"||j.type==="else"||j.type==="then"||j.type===";")continue;let H=XU(j,K,w);if(H)return H}continue}let $=z?new Map(_):_,A=K.length,O=XU(Y,K,$);if(O)return O;if(!z)for(let w=A;w<K.length;w++){let j=K[w];if(j?.argv[0]==="read"){for(let H of j.argv.slice(1))if(!H.startsWith("-")&&/^[A-Za-z_][A-Za-z0-9_]*$/.test(H)){let J=_.get(H);if(J!==void 0&&!jN8(J))return{kind:"too-complex",reason:`'read ${H}' in condition may not execute (||/pipeline/subshell); cannot prove it overwrites tracked literal '${J}'`,nodeType:"if_statement"};_.set(H,Cr)}}}}return null}if(q.type==="subshell"){let z=new Map(_);for(let Y of q.children){if(!Y)continue;if(Y.type==="("||Y.type===")")continue;let $=XU(Y,K,z);if($)return $}return null}if(q.type==="test_command"){let z=["[["];for(let Y of q.children){if(!Y)continue;if(Y.type==="[["||Y.type==="]]")continue;if(Y.type==="["||Y.type==="]")continue;let $=qN4(Y,z,K,_);if($)return $}return K.push({argv:z,envVars:[],redirects:[],text:q.text}),null}if(q.type==="unset_command"){let z=[];for(let Y of q.children){if(!Y)continue;switch(Y.type){case"unset":z.push(Y.text);break;case"variable_name":z.push(Y.text),_.delete(Y.text);break;case"word":{let $=PU(Y,K,_);if(typeof $!=="string")return $;z.push($);break}default:return EH(Y)}}return K.push({argv:z,envVars:[],redirects:[],text:q.text}),null}return EH(q)}function qN4(q,K,_,z){switch(q.type){case"unary_expression":case"binary_expression":case"negated_expression":case"parenthesized_expression":{for(let Y of q.children){if(!Y)continue;let $=qN4(Y,K,_,z);if($)return $}return null}case"test_operator":case"!":case"(":case")":case"&&":case"||":case"==":case"=":case"!=":case"<":case">":case"=~":return K.push(q.text),null;case"regex":case"extglob_pattern":return K.push(q.text),null;default:{let Y=PU(q,_,z);if(typeof Y!=="string")return Y;return K.push(Y),null}}}function k9z(q,K,_){let z=[],Y=null;for(let O of q.children){if(!O)continue;if(O.type==="file_redirect"){let w=KN4(O,K,_);if("kind"in w)return w;z.push(w)}else if(O.type==="heredoc_redirect"){let w=_N4(O);if(w)return w}else if(O.type==="command"||O.type==="pipeline"||O.type==="list"||O.type==="negated_command"||O.type==="declaration_command"||O.type==="unset_command")Y=O;else return EH(O)}if(!Y)return K.push({argv:[],envVars:[],redirects:z,text:q.text}),null;let $=K.length,A=XU(Y,K,_);if(A)return A;if(K.length>$&&z.length>0){let O=K[K.length-1];if(O)O.redirects.push(...z)}return null}function KN4(q,K,_){let z=null,Y=null,$;for(let A of q.children){if(!A)continue;if(A.type==="file_descriptor")$=Number(A.text);else if(A.type in iV4)z=iV4[A.type]??null;else if(A.type==="word"||A.type==="number"){if(A.children.length>0)return EH(A);if(vm1.test(A.text))return EH(A);Y=A.text.replace(/\\(.)/g,"$1")}else if(A.type==="raw_string")Y=YN4(A.text);else if(A.type==="string"){let O=zN4(A,K,_);if(typeof O!=="string")return O;Y=O}else if(A.type==="concatenation"){let O=PU(A,K,_);if(typeof O!=="string")return O;Y=O}else return EH(A)}if(!z||Y===null)return{kind:"too-complex",reason:"Unrecognized redirect shape",nodeType:q.type};return{op:z,target:Y,fd:$}}function _N4(q){let K=null,_=null;for(let Y of q.children){if(!Y)continue;if(Y.type==="heredoc_start")K=Y.text;else if(Y.type==="heredoc_body")_=Y;else if(Y.type==="<<"||Y.type==="<<-"||Y.type==="heredoc_end"||Y.type==="file_descriptor");else return EH(Y)}if(!(K!==null&&(K.startsWith("'")&&K.endsWith("'")||K.startsWith('"')&&K.endsWith('"')||K.startsWith("\\"))))return{kind:"too-complex",reason:"Heredoc with unquoted delimiter undergoes shell expansion",nodeType:"heredoc_redirect"};if(_)for(let Y of _.children){if(!Y)continue;if(Y.type!=="heredoc_content")return EH(Y)}return null}function V9z(q,K,_){for(let z of q.children){if(!z)continue;if(z.type==="<<<")continue;let Y=PU(z,K,_);if(typeof Y!=="string")return Y;if(ON8.test(Y))return EH(z)}return null}function N9z(q,K,_,z){let Y=[],$=[],A=[...K];for(let w of q.children){if(!w)continue;switch(w.type){case"variable_assignment":{let j=km1(w,_,z);if("kind"in j)return j;$.push({name:j.name,value:j.value});break}case"command_name":{let j=PU(w.children[0]??w,_,z);if(typeof j!=="string")return j;Y.push(j);break}case"word":case"number":case"raw_string":case"string":case"concatenation":case"arithmetic_expansion":{let j=PU(w,_,z);if(typeof j!=="string")return j;Y.push(j);break}case"simple_expansion":{let j=HN8(w,z,!1);if(typeof j!=="string")return j;Y.push(j);break}case"file_redirect":{let j=KN4(w,_,z);if("kind"in j)return j;A.push(j);break}case"herestring_redirect":{let j=V9z(w,_,z);if(j)return j;break}default:return EH(w)}}let O=/\$[A-Za-z_]/.test(q.text)||q.text.includes(`
1626`)?Y.map((w)=>w===""||/["'\\ \t\n$`;|&<>(){}*?[\]~#]/.test(w)?`'${w.replace(/'/g,"'\\''")}'`:w).join(" "):q.text;return{kind:"simple",commands:[{argv:Y,envVars:$,redirects:A,text:O}]}}function ym1(q,K,_){let z=new Map(_);for(let Y of q.children){if(!Y)continue;if(Y.type==="$("||Y.type==="`"||Y.type===")")continue;let $=XU(Y,K,z);if($)return $}return null}function PU(q,K,_){if(!q)return{kind:"too-complex",reason:"Null argument node"};switch(q.type){case"word":{if(vm1.test(q.text))return{kind:"too-complex",reason:"Word contains brace expansion syntax",nodeType:"word"};return q.text.replace(/\\(.)/g,"$1")}case"number":if(q.children.length>0)return{kind:"too-complex",reason:"Number node contains expansion (NN# arithmetic base syntax)",nodeType:q.children[0]?.type};return q.text;case"raw_string":return YN4(q.text);case"string":return zN4(q,K,_);case"concatenation":{if(vm1.test(q.text))return{kind:"too-complex",reason:"Brace expansion",nodeType:"concatenation"};let z="";for(let Y of q.children){if(!Y)continue;let $=PU(Y,K,_);if(typeof $!=="string")return $;z+=$}return z}case"arithmetic_expansion":{let z=Em1(q);if(z)return z;return q.text}case"simple_expansion":return HN8(q,_,!1);default:return EH(q)}}function zN4(q,K,_){let z="",Y=-1,$=!1,A=!1;for(let O of q.children){if(!O)continue;if(Y!==-1&&O.startIndex>Y&&O.type!=='"')z+=`
1627`.repeat(O.startIndex-Y),A=!0;switch(Y=O.endIndex,O.type){case'"':Y=O.endIndex;break;case"string_content":z+=O.text.replace(/\\([$`"\\])/g,"$1"),A=!0;break;case rV4:z+=rV4,A=!0;break;case"command_substitution":{let w=E9z(O);if(w==="DANGEROUS")return EH(O);if(w!==null){let H=w.replace(/\n+$/,"");if(H.includes(`

Callers 1

Wd8Function · 0.85

Calls 3

Y9zFunction · 0.85
hasMethod · 0.45
pushMethod · 0.45

Tested by

no test coverage detected