{"version":3,"sources":["../src/dir/delete.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAC,MAAM,EAAC,MAAM,WAAW,CAAC;AAYjC,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,CA2BpF","file":"delete.d.ts","sourcesContent":["/**\n *\tMIT License\n *\n *\tCopyright (c) 2019 - 2022 Toreda, Inc.\n *\n *\tPermission is hereby granted, free of charge, to any person obtaining a copy\n *\tof this software and associated documentation files (the \"Software\"), to deal\n *\tin the Software without restriction, including without limitation the rights\n *\tto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *\tcopies of the Software, and to permit persons to whom the Software is\n *\tfurnished to do so, subject to the following conditions:\n\n * \tThe above copyright notice and this permission notice shall be included in all\n * \tcopies or substantial portions of the Software.\n *\n * \tTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *\tIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *\tFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * \tAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *\tLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *\tOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * \tSOFTWARE.\n *\n */\n\nimport {Config} from '../config';\nimport {filePath} from '../file/path';\nimport {jestEnv} from '../jest/env';\nimport {remove} from 'fs-extra';\n\n/**\n * Delete target directory\n * @param input\t\t\tFile path of directory to delete.\n * @returns\n *\n * @category Files\n */\nexport async function dirDelete(cfg: Config, input: string): Promise<boolean | Error> {\n\tif (!cfg) {\n\t\treturn false;\n\t}\n\n\tconst path = filePath(input);\n\n\tconst autoMock = cfg.autoMockInJest && jestEnv();\n\tconst mockWrites = autoMock || cfg.mocks.all || cfg.mocks.fileWrites;\n\n\tif (path === null) {\n\t\tthrow new Error('Bad path format or missing path in dir delete');\n\t}\n\n\treturn new Promise((resolve, reject) => {\n\t\tif (mockWrites) {\n\t\t\treturn resolve(true);\n\t\t}\n\n\t\ttry {\n\t\t\tremove(path, () => {\n\t\t\t\treturn resolve(true);\n\t\t\t});\n\t\t} catch (e) {\n\t\t\treturn reject(e);\n\t\t}\n\t});\n}\n"]}