Server IP : 185.86.78.101 / Your IP : 216.73.216.124 Web Server : Apache System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/wwwroot/mifepriston.org/node_modules/npm-api/lib/plugins/ |
Upload File : |
'use strict'; const utils = require('../utils'); const define = (obj, name, value) => Reflect.defineProperty(obj, name, { value }); module.exports = (options = {}) => { return function() { let log = (...args) => { if (this.options.verbose === true || options.verbose === true) { console.log(...args); } }; define(this, 'total', async() => { if (!this.cache.has('total')) { let results = await this.downloads(); this.cache.set('total', utils.stats.calc.total(results)); } return this.cache.get('total'); }); define(this, 'last', async(n) => { let key = 'last-' + n; if (!this.cache.has(key)) { let results = await this.downloads(); this.cache.set(key, utils.stats.calc.last(n, results)); } return this.cache.get(key); }); define(this, 'downloads', (start = '2005-01-01') => { let end = this.options.end ? utils.moment(this.options.end) : utils.moment.utc().subtract(1, 'days'); start = utils.moment(start); let downloads = []; return new Promise((resolve, reject) => { log('getting downloads for "' + this.name + '"'); utils.stats.get(start, end, this.name) .on('data', (data) => { downloads.push(data); }) .on('error', (err) => { log('ERROR: [' + this.name + ']'); log(err); }) .on('end', () => { downloads.sort((a, b) => { if (a.day < b.day) return 1; if (a.day > b.day) return -1; return 0; }); let results = []; downloads.forEach(download => { if (!results.find(d => d.day === download.day)) { results.push(download); } }); resolve(results); }); }); }); }; };