import{createRequire} from"node:module";const require=createRequire(import.meta.url); import{a as m}from"./chunk-W5DWRFSU.js";import{c}from"./chunk-QAYAQNCG.js";function h(s){let a=s.replace(/\//g,"-"),r=new Date(a);if(!Number.isNaN(r.getTime()))return r;let i=a.match(/^(\d{4})-(\d{2})-(\d{2})$/);if(i){let[,o,l,f]=i;if(r=new Date(Number.parseInt(o,10),Number.parseInt(l,10)-1,Number.parseInt(f,10)),!Number.isNaN(r.getTime()))return r}let u=a.match(/^(\d{4})-(\d{2})-(\d{2})\s+(\d{2}):(\d{2}):(\d{2})$/);if(u){let[,o,l,f,t,e,d]=u;if(r=new Date(Number.parseInt(o,10),Number.parseInt(l,10)-1,Number.parseInt(f,10),Number.parseInt(t,10),Number.parseInt(e,10),Number.parseInt(d,10)),!Number.isNaN(r.getTime()))return r}return null}var N={name:"touch",async execute(s,a){let r=[],i=null,u=!1;for(let t=0;t=s.length)return{stdout:"",stderr:`touch: option requires an argument -- 'd' `,exitCode:1};i=s[++t]}else if(e.startsWith("--date="))i=e.slice(7);else if(e==="-c"||e==="--no-create")u=!0;else if(e==="-a"||e==="-m"||e==="-r"||e==="-t")(e==="-r"||e==="-t")&&t++;else{if(e.startsWith("--"))return c("touch",e);if(e.startsWith("-")&&e.length>1){let d=!1;for(let n of e.slice(1))if(n==="c")u=!0;else if(!(n==="a"||n==="m"))if(n==="d"){if(t+1>=s.length)return{stdout:"",stderr:`touch: option requires an argument -- 'd' `,exitCode:1};i=s[++t],d=!0;break}else if(n==="r"||n==="t"){t++,d=!0;break}else return c("touch",`-${n}`);if(d)continue}else r.push(e)}}if(r.length===0)return{stdout:"",stderr:`touch: missing file operand `,exitCode:1};let o=null;if(i!==null&&(o=h(i),o===null))return{stdout:"",stderr:`touch: invalid date format '${i}' `,exitCode:1};let l="",f=0;for(let t of r)try{let e=a.fs.resolvePath(a.cwd,t);if(!await a.fs.exists(e)){if(u)continue;await a.fs.writeFile(e,"")}let n=o??new Date;await a.fs.utimes(e,n,n)}catch(e){l+=`touch: cannot touch '${t}': ${m(e)} `,f=1}return{stdout:"",stderr:l,exitCode:f}}},b={name:"touch",flags:[{flag:"-c",type:"boolean"},{flag:"-a",type:"boolean"},{flag:"-m",type:"boolean"},{flag:"-d",type:"value",valueHint:"string"}],needsArgs:!0};export{N as a,b};