'use strict' const contentVer = require('../../package.json')['cache-version'].content const hashToSegments = require('../util/hash-to-segments') const path = require('path') const ssri = require('ssri') // Current format of content file path: // // sha512-BaSE64Hex= -> // ~/.my-cache/content-v2/sha512/ba/da/55deadbeefc0ffee // module.exports = contentPath function contentPath (cache, integrity) { const sri = ssri.parse(integrity, {single: true}) // contentPath is the *strongest* algo given return path.join.apply(path, [ contentDir(cache), sri.algorithm ].concat(hashToSegments(sri.hexDigest()))) } module.exports._contentDir = contentDir function contentDir (cache) { return path.join(cache, `content-v${contentVer}`) }