Server IP : 162.0.209.157 / Your IP : 3.138.60.175 [ Web Server : LiteSpeed System : Linux premium178.web-hosting.com 4.18.0-513.24.1.lve.2.el8.x86_64 #1 SMP Fri May 24 12:42:50 UTC 2024 x86_64 User : balaoqob ( 2395) PHP Version : 8.0.30 Disable Function : NONE Domains : 1 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /lib/node_modules/npm/node_modules/cacache/ |
Upload File : |
'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 }