ts-shasum
Version:
Compute and check SHA256 message digest.
11 lines (8 loc) • 1.57 kB
JavaScript
/**
* Version: 1.2.0
*
* Copyright (c) 2024 kjxbyz. All rights reserved.
*/
;var u=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var F=Object.prototype.hasOwnProperty;var H=(i,e)=>{for(var n in e)u(i,n,{get:e[n],enumerable:!0})},m=(i,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of d(e))!F.call(i,t)&&t!==n&&u(i,t,{get:()=>e[t],enumerable:!(r=g(e,t))||r.enumerable});return i};var T=i=>m(u({},"__esModule",{value:!0}),i);var B={};H(B,{default:()=>y,readFromFile:()=>w,shasum:()=>c,verify:()=>O,writeToFile:()=>P});module.exports=T(B);var f=require("glob"),h=require("crypto"),p=require("fs"),y=c;async function O(i,e,n="sha256",r,t){let s=Object.fromEntries((await c(i,n,r,t)).map(([o,a])=>[a,o]));return e.reduce((o,[a,l])=>(o.push([l,a==s[l]]),o),[])}async function c(i,e="sha256",n,r){return await Promise.all((await E(i)).map(async t=>[await x(t,e,n,r),t]))}function P(i,e,n){let r=e.map(([t,s])=>`${t} ${s}`);(0,p.writeFileSync)(i,r.join(`
`),n)}function w(i,e,n){let r=(0,p.readFileSync)(i,e);return Buffer.isBuffer(r)&&(r=r.toString(n)),r?.split(`
`)?.reduce((t,s)=>(t.push(s.split(" ")),t),[])||[]}function x(i,e,n,r){return new Promise(function(t,s){let o=(0,h.createHash)(e,n),a=(0,p.createReadStream)(i,r);a.on("readable",()=>{let l=a.read();l?o.update(l):t(o.digest("hex"))}),a.on("error",l=>{s(l)})})}function E(i){return new Promise(function(e,n){try{let r=(0,f.globSync)(i,{});e(r)}catch(r){n(r)}})}0&&(module.exports={readFromFile,shasum,verify,writeToFile});