@hopeio/utils
Version:
javascript utils
2 lines (1 loc) • 913 B
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("fs"),u=require("crypto");function s(n,e){r.readdirSync(n,{withFileTypes:!0}).forEach(t=>{const c=n+"/"+t.name;t.isDirectory()?s(c,e):e(n,t.name,c)})}function i(n,e,t,c){r.existsSync(e)||r.mkdirSync(e),r.readdirSync(n,{withFileTypes:!0}).forEach(a=>{if(c&&!c(a))return;const o=n+"/"+a.name;if(a.isDirectory()){const h=e+"/"+a.name;i(o,h,t,c)}else t(a.name,o,e)})}async function p(n){try{const e=await r.promises.readFile(n),t=u.createHash("sha256");t.update(e);const c=t.digest("hex");console.log(`File ${n} hash: ${c}`)}catch(e){console.error("Error calculating file hash:",e)}}function y(n,e){r.existsSync(e)||r.mkdirSync(e),r.readdirSync(n).forEach(t=>{let c=n+"/"+t;r.statSync(c).isDirectory()?y(c,e+"/"+t):r.copyFileSync(c,e+"/"+t)})}exports.calculateFileHash=p;exports.copyDir=y;exports.range=s;exports.sync=i;