You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							26 lines
						
					
					
						
							750 B
						
					
					
				
			
		
		
	
	
							26 lines
						
					
					
						
							750 B
						
					
					
				'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}`) | 
						|
}
 | 
						|
 |