{"version":3,"sources":["../src/fs/nodefs.ts"],"names":["readFile","promisify","fs","copyFile","mkdir","readdir","readlink","realpath","rename","rmdir","stat","symlink","unlink","writeFile","access","appendFile","chmod","chown","close","fchmod","fchown","rm","truncate","openDir","open","read","write","mkdtemp","cp","exists","results"],"mappings":";;;;AAgCaA,IAAAA,CAAAA,CAAWC,IAAUC,CAAG,CAAA,QAAQ,CAChCC,CAAAA,CAAAA,CAAWF,IAAUC,CAAG,CAAA,QAAQ,CAChCE,CAAAA,CAAAA,CAAQH,IAAUC,CAAG,CAAA,KAAK,CAC1BG,CAAAA,CAAAA,CAAUJ,GAAUC,CAAAA,CAAAA,CAAG,OAAO,CAAA,CAC9BI,EAAWL,GAAUC,CAAAA,CAAAA,CAAG,QAAQ,CAAA,CAChCK,EAAWN,GAAUC,CAAAA,CAAAA,CAAG,QAAQ,CAAA,CAChCM,EAASP,GAAUC,CAAAA,CAAAA,CAAG,MAAM,CAAA,CAC5BO,CAAQR,CAAAA,GAAAA,CAAUC,CAAG,CAAA,KAAK,EAC1BQ,CAAOT,CAAAA,GAAAA,CAAUC,CAAG,CAAA,IAAI,EACxBS,CAAUV,CAAAA,GAAAA,CAAUC,CAAG,CAAA,OAAO,EAC9BU,CAASX,CAAAA,GAAAA,CAAUC,CAAG,CAAA,MAAM,CAC5BW,CAAAA,CAAAA,CAAYZ,GAAUC,CAAAA,CAAAA,CAAG,SAAS,CAClCY,CAAAA,CAAAA,CAASb,GAAUC,CAAAA,CAAAA,CAAG,MAAM,CAC5Ba,CAAAA,CAAAA,CAAad,GAAUC,CAAAA,CAAAA,CAAG,UAAU,CACpCc,CAAAA,CAAAA,CAAQf,GAAUC,CAAAA,CAAAA,CAAG,KAAK,CAAA,CAC1Be,CAAQhB,CAAAA,GAAAA,CAAUC,EAAG,KAAK,CAAA,CAC1BgB,CAAQjB,CAAAA,GAAAA,CAAUC,EAAG,KAAK,CAAA,CAC1BiB,CAASlB,CAAAA,GAAAA,CAAUC,EAAG,MAAM,CAAA,CAC5BkB,CAASnB,CAAAA,GAAAA,CAAUC,CAAG,CAAA,MAAM,CAC5BmB,CAAAA,CAAAA,CAAKpB,IAAUC,CAAG,CAAA,EAAE,CACpBoB,CAAAA,CAAAA,CAAWrB,IAAUC,CAAG,CAAA,QAAQ,CAChCqB,CAAAA,CAAAA,CAAUtB,IAAUC,CAAG,CAAA,OAAO,CAC9BsB,CAAAA,CAAAA,CAAOvB,GAAUC,CAAAA,CAAAA,CAAG,IAAI,CAAA,CACxBuB,EAAOxB,GAAUC,CAAAA,CAAAA,CAAG,IAAI,CAAA,CACxBwB,EAAQzB,GAAUC,CAAAA,CAAAA,CAAG,KAAK,CAAA,CAC1ByB,EAAU1B,GAAUC,CAAAA,CAAAA,CAAG,OAAO,CAAA,CAC9B0B,CAAK3B,CAAAA,GAAAA,CAAUC,CAAG,CAAA,EAAE,EAEpB2B,CAAS5B,CAAAA,GAAAA,CAAUC,CAAG,CAAA,MAAA,CAAQ,CAC1C,aAAgB4B,CAAAA,CAAAA,EACRA,CAAQ,CAAA,CAAC,CAElB,CAAC","file":"chunk-SGKZV4EI.mjs","sourcesContent":["/**\r\n * 将fs模块的方法转换为Promise\r\n * \r\n */\r\nimport fs from \"node:fs\"\r\nimport { promisify } from \"../func/promisify\";\r\n\r\n\r\n\r\n// 以下尝试对promise化的方法进行类型推断，但是失败了，因为nodejs的方法均有重载，实际推断出来的结果是错误的\r\n// type NodejsFunc<T extends (...args: any) => any> = T extends ((...args: [...rest:infer P,callback:infer C]) => any) ? (C extends (error:any,result:infer R)=>any ? (...args: P) => R : (...args: P)=>void) : never;\r\n// type NodejsMethodOverloads<T> =\r\n//   T extends {\r\n//     (...args: infer A1): infer R1; (...args: infer A2): infer R2;\r\n//     (...args: infer A3): infer R3; (...args: infer A4): infer R4\r\n//   } ?\r\n//   (NodejsFunc<(...args: A1) => R1> | NodejsFunc<(...args: A2) => R2> | NodejsFunc<(...args: A3) => R3> | NodejsFunc<(...args: A4) => R4>) :\r\n//   T extends {\r\n//     (...args: infer A1): infer R1; (...args: infer A2): infer R2;\r\n//     (...args: infer A3): infer R3\r\n//   } ?\r\n//   (NodejsFunc<(...args: A1) => R1> | NodejsFunc<(...args: A2) => R2> | NodejsFunc<(...args: A3) => R3> ):\r\n//   T extends {\r\n//     (...args: infer A1): infer R1; (...args: infer A2): infer R2\r\n//   } ?\r\n//   NodejsFunc<(...args: A1) => R1> | NodejsFunc<(...args: A2) => R2>:\r\n//   T extends {\r\n//     (...args: infer A1): infer R1\r\n//   } ?\r\n//   NodejsFunc<(...args: A1) => R1> :\r\n//   T\r\n \r\nexport const readFile = promisify(fs.readFile) //as NodejsMethodOverloads<typeof fs.readFile> \r\nexport const copyFile = promisify(fs.copyFile) //as NodejsMethodOverloads<typeof fs.copyFile>; \r\nexport const mkdir = promisify(fs.mkdir) //as NodejsMethodOverloads<typeof fs.mkdir>;\r\nexport const readdir = promisify(fs.readdir) //as NodejsMethodOverloads<typeof fs.readdir>;\r\nexport const readlink = promisify(fs.readlink)                  //as NodejsMethodOverloads<typeof fs.readlink>;\r\nexport const realpath = promisify(fs.realpath)                  //as NodejsMethodOverloads<typeof fs.realpath>;\r\nexport const rename = promisify(fs.rename)                  //as NodejsFunc<typeof fs.rename>;\r\nexport const rmdir = promisify(fs.rmdir)                  //as NodejsMethodOverloads<typeof fs.rmdir>;\r\nexport const stat = promisify(fs.stat)                  //as NodejsMethodOverloads<typeof fs.stat>;\r\nexport const symlink = promisify(fs.symlink)                  //as NodejsMethodOverloads<typeof fs.symlink>;\r\nexport const unlink = promisify(fs.unlink)                  //as NodejsFunc<typeof fs.unlink>;\r\nexport const writeFile = promisify(fs.writeFile)                  //as NodejsMethodOverloads<typeof fs.writeFile>;  \r\nexport const access = promisify(fs.access)                  //as NodejsMethodOverloads<typeof fs.access>;\r\nexport const appendFile = promisify(fs.appendFile)                  //as NodejsMethodOverloads<typeof fs.appendFile>;\r\nexport const chmod = promisify(fs.chmod)                  //as NodejsFunc<typeof fs.chmod>;\r\nexport const chown = promisify(fs.chown)                  //as NodejsFunc<typeof fs.chown>;\r\nexport const close = promisify(fs.close)                  //as NodejsFunc<typeof fs.close>;\r\nexport const fchmod = promisify(fs.fchmod)                  //as NodejsFunc<typeof fs.fchmod>;\r\nexport const fchown = promisify(fs.fchown)                  //as NodejsFunc<typeof fs.fchown>;\r\nexport const rm = promisify(fs.rm)                  //as NodejsMethodOverloads<typeof fs.rm>;\r\nexport const truncate = promisify(fs.truncate)                  //as NodejsMethodOverloads<typeof fs.truncate>;\r\nexport const openDir = promisify(fs.opendir)                  //as NodejsMethodOverloads<typeof fs.opendir>;\r\nexport const open = promisify(fs.open)                  //as NodejsMethodOverloads<typeof fs.open>;\r\nexport const read = promisify(fs.read)                  //as NodejsMethodOverloads<typeof fs.read>;\r\nexport const write = promisify(fs.write)                  //as NodejsMethodOverloads<typeof fs.write>;\r\nexport const mkdtemp = promisify(fs.mkdtemp)                  //as NodejsMethodOverloads<typeof fs.mkdtemp>;\r\nexport const cp = promisify(fs.cp)                  //as NodejsMethodOverloads<typeof fs.cp>; \r\n\r\nexport const exists = promisify(fs.exists, {\r\n\tparseCallback: (results) => {\r\n\t\treturn results[0];\r\n\t},\r\n})  "]}