本文整理匯總了TypeScript中vs/base/common/extpath.isRootOrDriveLetter函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript isRootOrDriveLetter函數的具體用法?TypeScript isRootOrDriveLetter怎麽用?TypeScript isRootOrDriveLetter使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了isRootOrDriveLetter函數的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: test
test('isRoot', () => {
if (platform.isWindows) {
assert.ok(extpath.isRootOrDriveLetter('c:'));
assert.ok(extpath.isRootOrDriveLetter('D:'));
assert.ok(extpath.isRootOrDriveLetter('D:/'));
assert.ok(extpath.isRootOrDriveLetter('D:\\'));
assert.ok(!extpath.isRootOrDriveLetter('D:\\path'));
assert.ok(!extpath.isRootOrDriveLetter('D:/path'));
} else {
assert.ok(extpath.isRootOrDriveLetter('/'));
assert.ok(!extpath.isRootOrDriveLetter('/path'));
}
});
示例2: rimraf
export async function rimraf(path: string, mode = RimRafMode.UNLINK): Promise<void> {
if (isRootOrDriveLetter(path)) {
throw new Error('rimraf - will refuse to recursively delete root');
}
// delete: via unlink
if (mode === RimRafMode.UNLINK) {
return rimrafUnlink(path);
}
// delete: via move
return rimrafMove(path);
}
示例3: rimrafSync
export function rimrafSync(path: string): void {
if (isRootOrDriveLetter(path)) {
throw new Error('rimraf - will refuse to recursively delete root');
}
try {
const stat = fs.lstatSync(path);
// Folder delete (recursive) - NOT for symbolic links though!
if (stat.isDirectory() && !stat.isSymbolicLink()) {
// Children
const children = readdirSync(path);
children.map(child => rimrafSync(join(path, child)));
// Folder
fs.rmdirSync(path);
}
// Single file delete
else {
// chmod as needed to allow for unlink
const mode = stat.mode;
if (!(mode & 128)) { // 128 === 0200
fs.chmodSync(path, mode | 128);
}
return fs.unlinkSync(path);
}
} catch (error) {
if (error.code !== 'ENOENT') {
throw error;
}
}
}