diff options
Diffstat (limited to 'deps/node/deps/npm/node_modules/cacache/lib/content/path.js')
-rw-r--r-- | deps/node/deps/npm/node_modules/cacache/lib/content/path.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/deps/node/deps/npm/node_modules/cacache/lib/content/path.js b/deps/node/deps/npm/node_modules/cacache/lib/content/path.js new file mode 100644 index 00000000..fa6491ba --- /dev/null +++ b/deps/node/deps/npm/node_modules/cacache/lib/content/path.js @@ -0,0 +1,26 @@ +'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}`) +} |