{"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["import * as path from 'path'\nimport * as fs from 'fs'\n\nimport { wrapper, TypeToolProp, TypeOnEveryFile, TypeOnBody, TypeToolOptions } from '@asset-toolkit/core'\nimport { exiftool } from 'exiftool-vendored'\n\nexport interface TypeProps extends TypeToolOptions {}\n\n/**\n * A tool to extract exif data to json file.\n * https://photostructure.github.io/exiftool-vendored.js/\n * @param props - { pathIn, pathOut }\n * @param options - { raw, tags }\n * @returns { Promise(returns) }\n */\nconst exifExtractor: (_props: TypeToolProp, options?: TypeProps) => Promise<unknown> = wrapper(\n  ({ pathIn, pathOut, file, next, log }: TypeOnEveryFile) => {\n    exiftool\n      .read(path.resolve(pathIn || pathOut, file))\n      .then((tags: any) => {\n        fs.writeFile(path.resolve(pathOut, file + '.json'), JSON.stringify(tags, null, ' '), {}, () => {\n          log(file + '.json')\n          next()\n        })\n      })\n      .catch((err: any) => console.error('Something terrible happened: ', err))\n  },\n  ({ log }: TypeOnBody) =>\n    new Promise<void>(resolve => {\n      exiftool.end()\n      resolve()\n    }),\n  { name: 'Exif Extractor' },\n)\n\nexport default exifExtractor\n"],"names":["exifExtractor","wrapper","pathOut","file","next","log","exiftool","read","path","resolve","pathIn","then","tags","fs","writeFile","JSON","stringify","err","console","error","Promise","end","name"],"mappings":"uIAeMA,IAAAA,EAAiFC,EACrF,gBAAWC,IAAAA,QAASC,IAAAA,KAAMC,IAAAA,KAAMC,IAAAA,IAC9BC,EACGC,KAAKC,EAAKC,UAFZC,QAE8BR,EAASC,IACrCQ,KAAK,SAACC,GACLC,EAAGC,UAAUN,EAAKC,QAAQP,EAASC,EAAO,SAAUY,KAAKC,UAAUJ,EAAM,KAAM,KAAM,GAAI,WACvFP,EAAIF,EAAO,SACXC,cAGG,SAACa,UAAaC,QAAQC,MAAM,gCAAiCF,MAExE,uBACMG,QAAc,SAAAX,GAChBH,EAASe,MACTZ,OAEJ,CAAEa,KAAM"}