提交 77d57689 编写于 作者: B Benjamin Pasero

files - introduce IFileStat.isFile() for #84524

上级 5ae52b61
......@@ -217,6 +217,7 @@ export class FileService extends Disposable implements IFileService {
const fileStat: IFileStat = {
resource,
name: getBaseLabel(resource),
isFile: (stat.type & FileType.File) !== 0,
isDirectory: (stat.type & FileType.Directory) !== 0,
isSymbolicLink: (stat.type & FileType.SymbolicLink) !== 0,
isReadonly: !!(provider.capabilities & FileSystemProviderCapabilities.Readonly),
......
......@@ -635,14 +635,19 @@ export interface IBaseStatWithMetadata extends IBaseStat {
export interface IFileStat extends IBaseStat {
/**
* The resource is a directory
* The resource is a file.
*/
isFile: boolean;
/**
* The resource is a directory.
*/
isDirectory: boolean;
/**
* The resource is a symbolic link.
*/
isSymbolicLink?: boolean;
isSymbolicLink: boolean;
/**
* The children of the file stat or undefined if none.
......
......@@ -218,6 +218,9 @@ suite('Disk File Service', function () {
const resolved = await service.resolve(resource);
assert.equal(resolved.name, 'index.html');
assert.equal(resolved.isFile, true);
assert.equal(resolved.isDirectory, false);
assert.equal(resolved.isSymbolicLink, false);
assert.equal(resolved.resource.toString(), resource.toString());
assert.equal(resolved.children, undefined);
assert.ok(resolved.mtime! > 0);
......
......@@ -403,6 +403,7 @@ export class TextFileEditorModel extends BaseTextEditorModel implements ITextFil
ctime: content.ctime,
size: content.size,
etag: content.etag,
isFile: true,
isDirectory: false,
isSymbolicLink: false,
isReadonly: content.isReadonly
......
......@@ -975,7 +975,9 @@ export class TestFileService implements IFileService {
encoding: 'utf8',
mtime: Date.now(),
size: 42,
isFile: true,
isDirectory: false,
isSymbolicLink: false,
name: resources.basename(resource)
});
}
......@@ -1038,7 +1040,9 @@ export class TestFileService implements IFileService {
mtime: Date.now(),
ctime: Date.now(),
size: 42,
isFile: true,
isDirectory: false,
isSymbolicLink: false,
name: resources.basename(resource)
}));
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册