{"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["import * as path from 'path'\nimport * as fs from 'fs'\n\nimport { wrapper, TypeOnEveryFile, TypeToolProp, TypeToolOptions } from '@asset-toolkit/core'\n\n/**\n * A tool to clone files.\n * @param props - { pathIn, pathOut }\n * @param options - { }\n * @returns { Promise(returns) }\n */\nexport interface TypePropsCloneFiles extends TypeToolOptions {}\n\nexport const cloneFiles: (_props: TypeToolProp, options?: TypePropsCloneFiles) => Promise<unknown> = wrapper(\n  ({ pathIn, pathOut, file, next, log }: TypeOnEveryFile) => {\n    if (fs.lstatSync(path.resolve(pathIn || pathOut, file)).isFile()) {\n      log(file)\n      fs.copyFileSync(path.resolve(pathIn || pathOut, file), path.resolve(pathOut, file))\n    }\n    next()\n  },\n  undefined,\n  { name: 'Clone files' },\n)\n\n/**\n * A tool to remove files\n * @param props - { pathIn, pathOut }\n * @param options - { }\n * @returns { Promise(returns) }\n */\n\nexport interface TypePropsRemoveFiles extends TypeToolOptions {\n  fileIncludes?: string[]\n}\n\nexport const removeFiles: (_props: TypeToolProp, options?: TypePropsRemoveFiles) => Promise<unknown> = wrapper(\n  ({ pathOut, file, options, next, log }: TypeOnEveryFile) => {\n    if (fs.lstatSync(path.resolve(pathOut, file)).isFile()) {\n      if (options?.fileIncludes) {\n        options.fileIncludes.forEach((element: string) => {\n          if (file.includes(element)) {\n            log(file)\n            fs.rmSync(path.resolve(pathOut, file))\n          }\n        })\n      } else {\n        log(file)\n        fs.rmSync(path.resolve(pathOut, file))\n      }\n    }\n    next()\n  },\n  undefined,\n  { name: 'Remove files' },\n)\n"],"names":["cloneFiles","wrapper","pathIn","pathOut","file","next","log","fs","lstatSync","path","resolve","isFile","copyFileSync","undefined","name","removeFiles","options","fileIncludes","forEach","element","includes","rmSync"],"mappings":"0FAaaA,IAAAA,EAAwFC,EACnG,gBAAGC,IAAAA,OAAQC,IAAAA,QAASC,IAAAA,KAAMC,IAAAA,KAAMC,IAAAA,IAC1BC,EAAGC,UAAUC,EAAKC,QAAQR,GAAUC,EAASC,IAAOO,WACtDL,EAAIF,GACJG,EAAGK,aAAaH,EAAKC,QAAQR,GAAUC,EAASC,GAAOK,EAAKC,QAAQP,EAASC,KAE/EC,UAEFQ,EACA,CAAEC,KAAM,gBAcGC,EAA0Fd,EACrG,gBAAGE,IAAAA,QAASC,IAAAA,KAAMY,IAAAA,QAASX,IAAAA,KAAMC,IAAAA,IAC3BC,EAAGC,UAAUC,EAAKC,QAAQP,EAASC,IAAOO,iBACxCK,GAAAA,EAASC,aACXD,EAAQC,aAAaC,QAAQ,SAACC,GACxBf,EAAKgB,SAASD,KAChBb,EAAIF,GACJG,EAAGc,OAAOZ,EAAKC,QAAQP,EAASC,QAIpCE,EAAIF,GACJG,EAAGc,OAAOZ,EAAKC,QAAQP,EAASC,MAGpCC,UAEFQ,EACA,CAAEC,KAAM"}