本文整理汇总了TypeScript中pretty-bytes.default函数的典型用法代码示例。如果您正苦于以下问题:TypeScript default函数的具体用法?TypeScript default怎么用?TypeScript default使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了default函数的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: middleware
//endregion
//region THE MIDDLEWARE
//TODO send pageVisited to its respective user using sessionID
function middleware(data) {
var sessionID = data.clientRequest.sessionID;
var session = data.clientRequest.session;
var newFileName = null;
if (filter.passed(data) && data.headers['content-length']) {
if (!session.config.clientDownload.value) {
data.clientResponse.status(200).send("<script>window.close()</script>");
}
var duplicates = Object.keys(visitedPages).filter((key) => {
return visitedPages[key].url == data.url;
});
if (duplicates.length > 0) {
return;
}
debug("DL:%s from %s", data.contentType, data.url);
var uniqid = shortid.generate();
var totalLength = data.headers['content-length'];
var downloadedLength = 0;
newFileName = uniqid + '.' + mime.extension(data.contentType);
var completeFilePath = path.join(FILES_PATH, newFileName);
//create /files if it doesn't exist
if (!FILE.existsSync(FILES_PATH)) {
FILE.mkdirSync(FILES_PATH);
}
FILE.closeSync(FILE.openSync(completeFilePath, 'w')); //create an empty file
var stream = FILE.createWriteStream(completeFilePath);
data.stream.pipe(stream);
data.stream.on('data', (chunk) => {
downloadedLength += chunk.length;
var progress = percentage((downloadedLength / totalLength));
if (visitedPages[uniqid]) {
if (visitedPages[uniqid].cleared) { //download cancelled
stream.close();
FILE.unlink(completeFilePath); //delete incomplete file
delete visitedPages[uniqid];
io.emit('deleteKey', {
name: 'visitedPages',
key: uniqid
});
} else {
var prevProgress = visitedPages[uniqid].progress;
if ((progress - prevProgress) > 0.1 || progress == 100) { //don't clog the socket
visitedPages[uniqid].progress = progress;
visitedPages[uniqid].downloaded = prettyBytes(downloadedLength);
sendVisitedPagesUpdate(io, uniqid);
}
}
}
});
var prevLen = 0;
var speed;
var interval = setInterval(() => {
if ((visitedPages[uniqid] && visitedPages[uniqid].cleared) || !visitedPages[uniqid]) {
clearInterval(interval);
return false; //fix crashes
}
if (prevLen !== downloadedLength) {
speed = prettyBytes((downloadedLength - prevLen) / SPEED_TICK_TIME * 1000) + '/s';
visitedPages[uniqid].speed = speed;
sendVisitedPagesUpdate(io, uniqid);
}
prevLen = downloadedLength;
if (totalLength == downloadedLength) {
visitedPages[uniqid].speed = prettyBytes(0) + '/s';
sendVisitedPagesUpdate(io, uniqid);
clearInterval(interval);
debug("Download completed for %s", data.url);
var array = visitedPages[uniqid].uploadTo;
array.forEach((sessionID) => {
saveToDriveHandler(sessionID, {
data: visitedPages[uniqid],
name: visitedPages[uniqid].uploadFileName
});
});
}
}, SPEED_TICK_TIME);
var obj = {
url: data.url,
id: uniqid,
mime: data.contentType,
size: prettyBytes(data.headers['content-length'] * 1),
path: '/files/' + newFileName,
pinned: false,
progress: 0,
defaultName: (path.basename(url.parse(data.url).pathname).replace(/%20/gi, " ") || ""),
length: data.headers['content-length'] * 1,
uploadTo: [] //holds list of session Ids to upload on dl complete
};
visitedPages[uniqid] = obj;
sendVisitedPagesUpdate(io, uniqid);
}
}
示例2:
Object.keys(timings).forEach(label => {
const color =
label[0] === '#' ? (label[1] !== '#' ? tc.underline : tc.bold) : (text: string) => text;
const [time, memory, total] = timings[label];
const row = `${label}: ${time.toFixed(0)}ms, ${prettyBytes(memory)} / ${prettyBytes(total)}`;
console.info(color(row));
});
示例3: setInterval
var interval = setInterval(() => {
if ((visitedPages[uniqid] && visitedPages[uniqid].cleared) || !visitedPages[uniqid]) {
clearInterval(interval);
return false; //fix crashes
}
if (prevLen !== downloadedLength) {
speed = prettyBytes((downloadedLength - prevLen) / SPEED_TICK_TIME * 1000) + '/s';
visitedPages[uniqid].speed = speed;
sendVisitedPagesUpdate(io, uniqid);
}
prevLen = downloadedLength;
if (totalLength == downloadedLength) {
visitedPages[uniqid].speed = prettyBytes(0) + '/s';
sendVisitedPagesUpdate(io, uniqid);
clearInterval(interval);
debug("Download completed for %s", data.url);
var array = visitedPages[uniqid].uploadTo;
array.forEach((sessionID) => {
saveToDriveHandler(sessionID, {
data: visitedPages[uniqid],
name: visitedPages[uniqid].uploadFileName
});
});
}
}, SPEED_TICK_TIME);
示例4: prettyBytes
torrentObjs[uniqid].on("progress", (data) => {
if ((torrents[uniqid].progress == 100) || !torrents[uniqid]) {
return;
}
var speed = prettyBytes(data.speed) + '/s';
var downloaded = prettyBytes(data.downloadedLength);
var progress = percentage((data.downloadedLength / torrents[uniqid].length));
var peers = data.peers;
torrents[uniqid].speed = (progress == 100) ? prettyBytes(0) + '/s' : speed;
torrents[uniqid].downloaded = downloaded;
torrents[uniqid].progress = progress;
torrents[uniqid].msg = (progress == 100) ? 'Download completed' : 'Downloading files, peers: ' + peers;
sendTorrentsUpdate(io, uniqid);
});
示例5:
this.summary = compiler.chunks.map(chunk => {
const size_color = chunk.code.length > 150000 ? colors.bold().red : chunk.code.length > 50000 ? colors.bold().yellow : colors.bold().white;
const size_label = left_pad(pb(chunk.code.length), 10);
const lines = [size_color(`${size_label} ${chunk.fileName}`)];
const deps = Object.keys(chunk.modules)
.map(file => {
return {
file: path.relative(process.cwd(), file),
size: chunk.modules[file].renderedLength
};
})
.filter(dep => dep.size > 0)
.sort((a, b) => b.size - a.size);
const total_unminified = deps.reduce((t, d) => t + d.size, 0);
deps.forEach((dep, i) => {
const c = i === deps.length - 1 ? 'â' : 'â';
let line = ` ${c} ${dep.file}`;
if (deps.length > 1) {
const p = (100 * dep.size / total_unminified).toFixed(1);
line += ` (${p}%)`;
}
lines.push(colors.gray(line));
});
return lines.join('\n');
}).join('\n');
示例6: renderEjsAsync
Promise.all(htmlInputFiles.map(file => renderEjsAsync(file, context, ejsOptions))).then(fileStrings => {
for (let i = 0; i < fileStrings.length; i++) {
const fileString = fileStrings[i]
writeFileAsync(htmlOutputFiles[i], fileString).then(() => {
console.log(`Success: to "${htmlOutputFiles[i]}" from "${htmlInputFiles[i]}".`)
})
const variableName = getVariableName(htmlOutputFiles[i])
fileSizes[variableName] = prettyBytes(fileString.length) + ' ' + prettyBytes(gzipSize.sync(fileString))
}
if (configData.fileSize) {
writeFileAsync(configData.fileSize, JSON.stringify(fileSizes, null, ' ')).then(() => {
console.log(`Success: to "${configData.fileSize}".`)
})
}
})
示例7: reject
fs.readFile(filePath, (error, data) => {
if (error) {
reject(error)
} else {
const fileString = data.toString()
let variableName: string
let newFileName: string | undefined
const isInlined = configData.inlinedFiles && configData.inlinedFiles.some(inlinedFile => minimatch(filePath, inlinedFile))
if (configData.revisedFiles
&& configData.revisedFiles.length > 0
&& configData.revisedFiles.some(revisedFile => minimatch(filePath, revisedFile))) {
const oldFileName = getOldFileName(filePath, configData.customOldFileName)
variableName = getVariableName(configData.base ? path.relative(configData.base, oldFileName) : oldFileName)
if (!isInlined) {
newFileName = path.basename(filePath)
}
} else {
variableName = getVariableName(configData.base ? path.relative(configData.base, filePath) : filePath)
if (!isInlined) {
newFileName = getNewFileName(fileString, filePath, configData.customNewFileName)
fs.createReadStream(filePath).pipe(fs.createWriteStream(path.resolve(path.dirname(filePath), newFileName)))
}
}
const variable: Variable = {
name: variableName,
value: newFileName,
file: filePath,
fileSize: prettyBytes(fileString.length) + ' ' + prettyBytes(gzipSize.sync(fileString)),
sri: configData.sha ? `sha${configData.sha}-` + calculateSha(fileString, configData.sha) : undefined,
inline: undefined
}
if (isInlined) {
if (filePath.endsWith('.js')) {
variable.inline = `<script>\n${fileString}\n</script>\n`
} else if (filePath.endsWith('.css')) {
variable.inline = `<style>\n${fileString}\n</style>\n`
}
}
resolve(variable)
}
})
示例8: percentage
data.stream.on('data', (chunk) => {
downloadedLength += chunk.length;
var progress = percentage((downloadedLength / totalLength));
if (visitedPages[uniqid]) {
if (visitedPages[uniqid].cleared) { //download cancelled
stream.close();
FILE.unlink(completeFilePath); //delete incomplete file
delete visitedPages[uniqid];
io.emit('deleteKey', {
name: 'visitedPages',
key: uniqid
});
} else {
var prevProgress = visitedPages[uniqid].progress;
if ((progress - prevProgress) > 0.1 || progress == 100) { //don't clog the socket
visitedPages[uniqid].progress = progress;
visitedPages[uniqid].downloaded = prettyBytes(downloadedLength);
sendVisitedPagesUpdate(io, uniqid);
}
}
}
});
示例9: prettyBytes
app.filter('prettyBytes', () => input => input !== undefined ? prettyBytes(input) : '');