Skip to content

raku-community-modules/Subsets-IO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Actions Status

NAME

Subsets::IO - Subsets for various types of IO::Path instances

SYNOPSIS

use Subsets::IO;

say "Our script is writable and readable"
    if $?FILE.IO ~~ IO::Path::frw;
use Subsets::IO;

sub make-conf($conf where IO::Path::dw | IO::Path::fw) {
    say "$conf is either a writable directory or a writable file";
}

sub make-conf-file(IO::Path::E $conf) {
    say "$conf is a non-existent path";
}
make-conf-file $?FILE.IO;
# Path must NOT exist Got /home/zoffix/CPANPRC/Subsets-IO/foo.p6
# Constraint type check failed in binding to parameter '$conf';
#   expected IO::Path::E but got IO::Path (IO::Path.new("/home/z...)

DESCRIPTION

The module provides subsets of IO::Path:D that additionally perform file tests and either uses the new will complain (since Rakudo 2022.04) feature, or uses Subset::Helper to display useful error messages on typecheck failures.

AVAILABLE SUBSETS

IO::Path::e

Path must exist.

IO::Path::E

Path must NOT exist.

IO::Path::f

Path must be an existing file.

IO::Path::F

Path must NOT be an existing file.

IO::Path::d

Path must be an existing directory.

IO::Path::D

Path must NOT be an existing directory.

IO::Path::fr

Path must be an existing, readable file.

IO::Path::frw

Path must be an existing, readable and writable file.

IO::Path::frx

Path must be an existing, readable and executable file.

IO::Path::fwx

Path must be an existing, writeable and executable file.

IO::Path::frwx

Path must be an existing, readable, writable, and executable file.

IO::Path::dr

Path must be an existing, readable directory.

IO::Path::drw

Path must be an existing, readable and writable directory.

IO::Path::drx

Path must be an existing, readable and executable directory.

IO::Path::dwx

Path must be an existing, writeable and executable directory.

IO::Path::drwx

Path must be an existing, readable, writable, and executable directory.

AUTHOR

Zoffix Znet

COPYRIGHT AND LICENSE

Copyright 2018 Zoffix Znet

Copyright 2019 - 2022 Raku Community

This library is free software; you can redistribute it and/or modify it under the Artistic License 2.0.

About

Subsets for various types of IO::Path instances

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages