Whether path is a directory, as (is_directory, success). A link is followed. A path that cannot be examined (missing, no
permission, or a NUL byte in it) gives (false, false), so success tells a file from nothing at all.
is_directory :: (path: string) -> (bool, success: bool)
Parameters
- path: string
Returns
- bool
- success: bool
#import "Extensions/Environment";
#import "File";
base := environment_variable("TMPDIR");
if base == "" base = environment_variable("TEMP");
if base == "" base = "/tmp";
root := tprint("%/jai-doc-is-directory", base);
file := tprint("%/file", root);
defer {
file_delete(file);
delete_directory(root);
}
assert(make_directory_if_it_does_not_exist(root));
assert(write_entire_file(file, "x"));
directory, success := is_directory(root);
assert(directory && success);
directory, success = is_directory(file);
assert(!directory && success);
directory, success = is_directory(tprint("%/missing", root));
assert(!directory && !success);
assert(file_exists(file) && !file_exists(tprint("%/missing", root)));