本文整理匯總了TypeScript中fs.readdir函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript readdir函數的具體用法?TypeScript readdir怎麽用?TypeScript readdir使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了readdir函數的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: frmdir
// Originally adopted from https://gist.github.com/tkihira/2367067
// Rewritten on 25 April 2016 by Romans Volosatovs
// Recursive rm function
// Calls 'cleandir' with i=0 to empty and
// consequently remove the given 'dir'
function frmdir(dir: string, cb: (err: any) => void): void {
fs.readdir(dir, (err, files): void => {
if (err) {
cb(err);
return;
}
cleandir(dir, files, 0, (err) => {
if (err) {
cb(err);
return;
}
fs.rmdir(dir, (err) => {
if (err) {
cb(err);
} else {
cb(null);
}
});
});
});
}
示例2: function
.forEach(d => {
var directoryPath = path.join(definitelyTypedRoot, d);
fs.readdir(directoryPath, function (err, files) {
if (err) throw err;
var tsFiles = [];
var testFiles = [];
var paramFile;
files
.map(f => path.join(directoryPath, f))
.forEach(f => {
if (fileExtensionIs(f, ".ts")) tsFiles.push(f);
else if (fileExtensionIs(f, ".tscparams")) paramFile = f;
if (fileExtensionIs(f, "-tests.ts")) testFiles.push(f);
});
if (testFiles.length === 0) {
// no test files but multiple d.ts's, e.g. winjs
var regexp = new RegExp(d + "(([-][0-9])|([\.]d[\.]ts))");
if (tsFiles.length > 1 && tsFiles.every(t => fileExtensionIs(t, ".d.ts") && regexp.test(t))) {
tsFiles.forEach(filename => {
importDefinitelyTypedTest(path.basename(filename, ".d.ts"), [filename], paramFile);
});
}
else {
importDefinitelyTypedTest(d, tsFiles, paramFile);
}
}
else {
testFiles.forEach(filename => {
importDefinitelyTypedTest(path.basename(filename, "-tests.ts"), [filename], paramFile);
});
}
});
})
示例3: dirs
export function dirs(absPath: string, cb: (err: Error, dirNames?: string[]) => any, asyncOpsLimit: number = ASYNC_OPS_LIMIT): any {
fs.readdir(absPath, (err, files: string[]) => {
if (err) {
if (err.code === 'ENOENT') {
// if path doesn't exist, it's not an error, just return []
return cb(null, []);
}
return cb(err);
}
filterLimit(files, asyncOpsLimit, function truthTest(file: string, truthTestCb: (err, truthValue?: boolean) => void): void {
fs.stat(join(absPath, file), (statErr, stats: fs.Stats) => {
if (statErr) {
return truthTestCb(statErr);
}
truthTestCb(null, stats.isDirectory());
});
}, function filteringDoneCb(filteringError, dirNames: string[]) {
if (filteringError) {
return cb(filteringError);
}
return cb(null, dirNames);
});
});
}
示例4: getChildren
getChildren(cb: IGetChildrenCallback): void {
var fs = require('fs');
//console.log(fs);
fs.readdir(this.full_path, (err, files) => {
// @files contains the plain file names of the children; we need to make these into fileEntry's
console.log(files);
console.log("files");
var child_list = [];
files.forEach((val, index) => {
var stats = fs.statSync(this.full_path);
if (stats.isFile()) {
var file_entry = new FileEntry(val, this.full_path, this.full_path);
child_list.push(file_entry);
} else if (stats.isDirectory()) {
var dir_entry = new DirEntry(val, this.full_path, this.full_path);
child_list.push(dir_entry);
}
});
cb(child_list);
});
}
示例5: readdir
return new Promise<Array<string>>(( resolve, reject ) => {
let paths:Array<string> = [];
readdir(dir, ( error, files ) => {
Promise.all(
files.map(file => {
const path = join(dir, file);
if (file === 'node_modules') {
return Promise.resolve([]);
}
return isDirectory(path)
.then(isDir => isDir ? readFilesFromDir(path) : Promise.resolve( [ path ]));
})
)
.then(( filesPerDir:Array<any> ) => {
resolve([].concat(...filesPerDir))
})
.catch(error => reject(error));
});
});
示例6: constructor
constructor() {
const options: InterfaceSettings = {
settings: {
lang: 'en',
commands: [
{ name: '!set', fnc: 'setValue', permission: permission.CASTERS },
{ name: '!_debug', fnc: 'debug', permission: permission.CASTERS },
{ name: '!enable', fnc: 'enable', permission: permission.CASTERS },
{ name: '!disable', fnc: 'disable', permission: permission.CASTERS },
],
},
ui: {
lang: {
type: 'selector',
values: [],
},
},
on: {
change: {
lang: ['onLangUpdate'],
},
load: {
lang: ['onLangLoad'],
},
},
};
super(options);
// update lang values
readdir('./locales/', (err, f) => {
if (typeof this._ui.lang === 'object' && this._ui.lang.type === 'selector') {
this._ui.lang.values = [...new Set(f.map((o) => o.split('.')[0]))];
}
});
}
示例7:
let relativePaths = await mio.promise<string[]>(callback => fs.readdir(fileOrFolderPath, callback));
示例8: handleResult
return new Promise<string[]>((resolve, reject) => {
fs.readdir(path, (error, children) => handleResult(resolve, reject, error, normalizeNFC(children)));
});
示例9: function
fs.stat(path, function (err: any, stats: any) {
if (err) {
cb(err, stats);
return;
}
if (stats.isFile()) {
fs.unlink(path, function (err: any) {
if (err) {
cb(err, null);
} else {
cb(null, true);
}
return;
});
} else if (stats.isDirectory()) {
// A folder may contain files
// We need to delete the files first
// When all are deleted we could delete the
// dir itself
fs.readdir(path, function (err: any, files: any) {
if (err) {
cb(err, null);
return;
}
var f_length = files.length;
var f_delete_index = 0;
// Check and keep track of deleted files
// Delete the folder itself when the files are deleted
var checkStatus = function () {
// We check the status
// and count till we r done
if (f_length === f_delete_index) {
fs.rmdir(path, function (err: any) {
if (err) {
cb(err, null);
} else {
cb(null, true);
}
});
return true;
}
return false;
};
if (!checkStatus()) {
for (var i = 0; i < f_length; i++) {
// Create a local scope for filePath
// Not really needed, but just good practice
// (as strings arn't passed by reference)
(function () {
var filePath = path + '/' + files[i];
// Add a named function as callback
// just to enlighten debugging
fs.removeRecursive(filePath, function removeRecursiveCB(err: any, status: any) {
if (!err) {
f_delete_index++;
checkStatus();
} else {
cb(err, null);
return;
}
});
})()
}
}
});
}
});
示例10: function
fs.readdir(folder, function(err, files) {
if (err) throw err;
console.log(files);
for (var f=0; f<files.length; f++) {
var filepath = path.resolve(folder+"\\"+files[f]);
//fs.stat(), fs.lstat() and fs.fstat() and their synchronous counterparts are of this type.
//stats.isDirectory()
if (filepath.indexOf(".xls")!=filepath.length-4)
continue;
console.log("filepath: "+filepath+"\n");
var book = xl.Workbooks.Open(filepath);
var nb_sheet = book.Worksheets.Count;
console.log("nb_sheet: "+nb_sheet);
for (var s=0; s<nb_sheet; s++) {
var sheet = book.Worksheets(s+1);
console.log("sheet: "+(s+1)+"/"+nb_sheet+" "+sheet.Name);
// find total span of content
var xlCellTypeLastCell =11;
var rng_bottom_right = sheet.Cells(1,1) .SpecialCells(xlCellTypeLastCell)
var n = rng_bottom_right.Row,
m= rng_bottom_right.Column;
console.log(n+" x "+m);
// Range("B4").End(xlUp).Select go to end of contiguous range
for (var j=0; j<m; j++) {
for (var i=0; i<n; i++) {
var rng = sheet.Cells(i+1,j+1);
var addr = ""+rng.Address;
if (rng.HasArray()==true) {
//console.log(rng.Address+" AF "+JSON.stringify(rng.HasArray())+" "+rng.CurrentArray().Cells(1,1).Address );
var array_addr = ""+rng.CurrentArray().Cells(1,1).Address
if (addr==array_addr)
//if (rng.CurrentArray().Cells(1,1).Address==rng.Address)
console.log(rng.CurrentArray().Address+" {} "+rng.FormulaArray);
//rng.FormulaArray
} else if (rng.HasFormula()==true) {
var txt = ""+rng.FormulaR1C1;
var rng0 = rng;
if (i>0 && (""+sheet.Cells(i, j+1).FormulaR1C1)==txt)
continue; // already used
while ((""+sheet.Cells(i+1+1, j+1).FormulaR1C1)==txt)
i++;
var rng1 = sheet.Cells(i+1, j+1);
var rng = sheet.Range(rng0, rng1);
if (""+rng0.Address != ""+rng1.Address) {
console.log(rng.Address+" [] "+rng0.FormulaR1C1);
} else {
console.log(rng.Address+" "+rng.FormulaR1C1);
}
} else if (rng.Text!="") {
// Value2 property doesn't use the Currency and Date
console.log(rng.Address+" VAL "+rng.Text);
}
}
}
}
book.Close();
break;
}
});