{"ast":null,"code":"\"use strict\";\n\nconst fs = require(\"./utils/fs\");\n\nconst validate = require(\"./utils/validate\");\n\nconst validateInput = (methodName, path) => {\n  const methodSignature = `${methodName}(path)`;\n  validate.argument(methodSignature, \"path\", path, [\"string\", \"undefined\"]);\n}; // ---------------------------------------------------------\n// Sync\n// ---------------------------------------------------------\n\n\nconst listSync = path => {\n  try {\n    return fs.readdirSync(path);\n  } catch (err) {\n    if (err.code === \"ENOENT\") {\n      // Doesn't exist. Return undefined instead of throwing.\n      return undefined;\n    }\n\n    throw err;\n  }\n}; // ---------------------------------------------------------\n// Async\n// ---------------------------------------------------------\n\n\nconst listAsync = path => {\n  return new Promise((resolve, reject) => {\n    fs.readdir(path).then(list => {\n      resolve(list);\n    }).catch(err => {\n      if (err.code === \"ENOENT\") {\n        // Doesn't exist. Return undefined instead of throwing.\n        resolve(undefined);\n      } else {\n        reject(err);\n      }\n    });\n  });\n}; // ---------------------------------------------------------\n// API\n// ---------------------------------------------------------\n\n\nexports.validateInput = validateInput;\nexports.sync = listSync;\nexports.async = listAsync;","map":{"version":3,"sources":["D:/Development/Work/CENOS/cenos-ui/node_modules/fs-jetpack/lib/list.js"],"names":["fs","require","validate","validateInput","methodName","path","methodSignature","argument","listSync","readdirSync","err","code","undefined","listAsync","Promise","resolve","reject","readdir","then","list","catch","exports","sync","async"],"mappings":"AAAA;;AAEA,MAAMA,EAAE,GAAGC,OAAO,CAAC,YAAD,CAAlB;;AACA,MAAMC,QAAQ,GAAGD,OAAO,CAAC,kBAAD,CAAxB;;AAEA,MAAME,aAAa,GAAG,CAACC,UAAD,EAAaC,IAAb,KAAsB;AAC1C,QAAMC,eAAe,GAAI,GAAEF,UAAW,QAAtC;AACAF,EAAAA,QAAQ,CAACK,QAAT,CAAkBD,eAAlB,EAAmC,MAAnC,EAA2CD,IAA3C,EAAiD,CAAC,QAAD,EAAW,WAAX,CAAjD;AACD,CAHD,C,CAKA;AACA;AACA;;;AAEA,MAAMG,QAAQ,GAAGH,IAAI,IAAI;AACvB,MAAI;AACF,WAAOL,EAAE,CAACS,WAAH,CAAeJ,IAAf,CAAP;AACD,GAFD,CAEE,OAAOK,GAAP,EAAY;AACZ,QAAIA,GAAG,CAACC,IAAJ,KAAa,QAAjB,EAA2B;AACzB;AACA,aAAOC,SAAP;AACD;;AACD,UAAMF,GAAN;AACD;AACF,CAVD,C,CAYA;AACA;AACA;;;AAEA,MAAMG,SAAS,GAAGR,IAAI,IAAI;AACxB,SAAO,IAAIS,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACtChB,IAAAA,EAAE,CAACiB,OAAH,CAAWZ,IAAX,EACGa,IADH,CACQC,IAAI,IAAI;AACZJ,MAAAA,OAAO,CAACI,IAAD,CAAP;AACD,KAHH,EAIGC,KAJH,CAISV,GAAG,IAAI;AACZ,UAAIA,GAAG,CAACC,IAAJ,KAAa,QAAjB,EAA2B;AACzB;AACAI,QAAAA,OAAO,CAACH,SAAD,CAAP;AACD,OAHD,MAGO;AACLI,QAAAA,MAAM,CAACN,GAAD,CAAN;AACD;AACF,KAXH;AAYD,GAbM,CAAP;AAcD,CAfD,C,CAiBA;AACA;AACA;;;AAEAW,OAAO,CAAClB,aAAR,GAAwBA,aAAxB;AACAkB,OAAO,CAACC,IAAR,GAAed,QAAf;AACAa,OAAO,CAACE,KAAR,GAAgBV,SAAhB","sourcesContent":["\"use strict\";\n\nconst fs = require(\"./utils/fs\");\nconst validate = require(\"./utils/validate\");\n\nconst validateInput = (methodName, path) => {\n  const methodSignature = `${methodName}(path)`;\n  validate.argument(methodSignature, \"path\", path, [\"string\", \"undefined\"]);\n};\n\n// ---------------------------------------------------------\n// Sync\n// ---------------------------------------------------------\n\nconst listSync = path => {\n  try {\n    return fs.readdirSync(path);\n  } catch (err) {\n    if (err.code === \"ENOENT\") {\n      // Doesn't exist. Return undefined instead of throwing.\n      return undefined;\n    }\n    throw err;\n  }\n};\n\n// ---------------------------------------------------------\n// Async\n// ---------------------------------------------------------\n\nconst listAsync = path => {\n  return new Promise((resolve, reject) => {\n    fs.readdir(path)\n      .then(list => {\n        resolve(list);\n      })\n      .catch(err => {\n        if (err.code === \"ENOENT\") {\n          // Doesn't exist. Return undefined instead of throwing.\n          resolve(undefined);\n        } else {\n          reject(err);\n        }\n      });\n  });\n};\n\n// ---------------------------------------------------------\n// API\n// ---------------------------------------------------------\n\nexports.validateInput = validateInput;\nexports.sync = listSync;\nexports.async = listAsync;\n"]},"metadata":{},"sourceType":"script"}