X7ROOT File Manager
Current Path:
/lib/node_modules/npm/node_modules/cacache
lib
/
node_modules
/
npm
/
node_modules
/
cacache
/
??
..
??
CHANGELOG.md
(22.31 KB)
??
LICENSE.md
(755 B)
??
README.es.md
(20.48 KB)
??
README.md
(20 KB)
??
en.js
(58 B)
??
es.js
(58 B)
??
get.js
(6.71 KB)
??
index.js
(58 B)
??
lib
??
locales
??
ls.js
(121 B)
??
package.json
(3.32 KB)
??
put.js
(1.91 KB)
??
rm.js
(661 B)
??
verify.js
(55 B)
Editing: put.js
'use strict' const figgyPudding = require('figgy-pudding') const index = require('./lib/entry-index') const memo = require('./lib/memoization') const write = require('./lib/content/write') const to = require('mississippi').to const PutOpts = figgyPudding({ algorithms: { default: ['sha512'] }, integrity: {}, memoize: {}, metadata: {}, pickAlgorithm: {}, size: {}, tmpPrefix: {}, single: {}, sep: {}, error: {}, strict: {} }) module.exports = putData function putData (cache, key, data, opts) { opts = PutOpts(opts) return write(cache, data, opts).then(res => { return index.insert( cache, key, res.integrity, opts.concat({ size: res.size }) ).then(entry => { if (opts.memoize) { memo.put(cache, entry, data, opts) } return res.integrity }) }) } module.exports.stream = putStream function putStream (cache, key, opts) { opts = PutOpts(opts) let integrity let size const contentStream = write.stream( cache, opts ).on('integrity', int => { integrity = int }).on('size', s => { size = s }) let memoData let memoTotal = 0 const stream = to((chunk, enc, cb) => { contentStream.write(chunk, enc, () => { if (opts.memoize) { if (!memoData) { memoData = [] } memoData.push(chunk) memoTotal += chunk.length } cb() }) }, cb => { contentStream.end(() => { index.insert(cache, key, integrity, opts.concat({ size })).then(entry => { if (opts.memoize) { memo.put(cache, entry, Buffer.concat(memoData, memoTotal), opts) } stream.emit('integrity', integrity) cb() }) }) }) let erred = false stream.once('error', err => { if (erred) { return } erred = true contentStream.emit('error', err) }) contentStream.once('error', err => { if (erred) { return } erred = true stream.emit('error', err) }) return stream }
Upload File
Create Folder