UNPKG

dwnpm

Version:

Decentralized Registry Package Manager (DRPM) helps developers publish, install, find and manage Decentralized Packages (DPKs) published to Decentralized Web Nodes (DWNs). DRPM does this by looking up a Decentralized Identifier (DID) to find its DID docum

24 lines 905 B
import { createHash } from 'crypto'; import { readFile } from 'fs/promises'; export class DIntegrity { static async sha512Integrity({ format, data }) { return format === 'stream' || data instanceof ReadableStream ? await DIntegrity.sha512IntegrityStream(data) : await DIntegrity.sha512IntegrityFile(data); } static async sha512IntegrityStream(stream) { const hash = createHash('sha512'); const reader = stream.getReader(); while (true) { const { done, value } = await reader.read(); if (done) break; hash.update(value); } return `sha512-${hash.digest('base64')}`; } static async sha512IntegrityFile(tgzFilepath) { return `sha512-${createHash('sha512').update(await readFile(tgzFilepath)).digest('base64')}`; } } //# sourceMappingURL=integrity.js.map