本文整理匯總了TypeScript中fs-extra.openSync函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript openSync函數的具體用法?TypeScript openSync怎麽用?TypeScript openSync使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了openSync函數的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: writeLogFile
writeLogFile(msg: string) {
const now = new Date()
let entry = `[${now}] ${msg}\n`
let fd = fs.openSync(this.acLogfilePath, 'a')
// @ts-ignore
fs.write(fd, entry)
}
示例2: writeFile
writeFile(file: string) {
this.out = fs.openSync(file, 'w');
}
示例3: actionPrime
async function actionPrime(hunspellDicFilename: string, options: Options) {
displayHelp = false;
const {
sort = false,
unique = false,
output: outputFile,
lower_case: lowerCase = false,
transform = true,
infix = false,
rules = false,
progress: showProgress = false,
} = options;
logStream = outputFile ? process.stdout : process.stderr;
const log = notify;
log('Write words');
log(`Sort: ${yesNo(sort)}`);
log(`Unique: ${yesNo(unique)}`);
const baseFile = hunspellDicFilename.replace(/\.(dic|aff)$/, '');
const dicFile = baseFile + '.dic';
const affFile = baseFile + '.aff';
log(`Dic file: ${dicFile}`);
log(`Aff file: ${affFile}`);
log(`Generating Words...`);
const reader = await IterableHunspellReader.createFromFiles(affFile, dicFile);
const transformers: ((_: AffWord) => AffWord)[] = [];
if (infix) { transformers.push(affWordToInfix); }
if (lowerCase) { transformers.push(mapWord(a => a.toLowerCase())); }
if (rules) { transformers.push(appendRules); }
transformers.push(mapWord(a => a.trim()));
const dicSize = reader.dic.length;
let current = 0;
const calcProgress = () => '\r' + current + ' / ' + dicSize;
const reportProgressRate = 253;
const callback = showProgress
? () => {
current++;
!(current % reportProgressRate) && process.stderr.write(calcProgress(), 'UTF-8');
}
: () => {};
const seqWords = transform ? reader.seqAffWords(callback) : reader.seqRootWords().map(asAffWord);
const filterUnique = unique ? uniqueFilter(uniqueHistorySize, (aff: AffWord) => aff.word) : (_: AffWord) => true;
const applyTransformers = (aff: AffWord) => transformers.reduce((aff, fn) => fn(aff), aff);
const words = seqWords
.map(applyTransformers)
.filter(filterUnique)
.filter(a => !!a.word)
.map(a => a.word + '\n')
;
if (sort) {
log('Sorting...');
const data = words.toArray().sort().join('');
const fd = outputFile ? fs.openSync(outputFile, 'w') : 1;
fs.writeSync(fd, data);
} else {
await writeSeqToFile(words, outputFile);
}
if (showProgress) { console.error(calcProgress()); }
log('Done.');
}
示例4: 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);
}
}