From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

use strict;
our $VERSION = '2.71';
use Log::Dispatch::Vars qw( %CanonicalLevelNames );
use Specio 0.32;
any_can_type(
'ApacheLog',
methods => ['log'],
);
declare(
'ArrayOfAddresses',
parent => t( 'ArrayRef', of => t('NonEmptySimpleStr') ),
);
coerce(
t('ArrayOfAddresses'),
from => t('NonEmptySimpleStr'),
inline => sub {"[ $_[1] ]"},
);
declare(
'Callbacks',
parent => t( 'ArrayRef', of => t('CodeRef') ),
);
coerce(
t('Callbacks'),
from => t('CodeRef'),
inline => sub {"[ $_[1] ]"},
);
any_can_type(
'CanPrint',
methods => ['print'],
);
{
my $level_names_re = join '|', keys %CanonicalLevelNames;
declare(
'LogLevel',
parent => t('Value'),
inline => sub {
sprintf( <<'EOF', $_[1], $level_names_re );
%s =~ /\A(?:[0-7]|%s)\z/
EOF
},
);
}
declare(
'SyslogSocket',
parent => t(
'Maybe',
of => union( of => [ t('NonEmptyStr'), t('ArrayRef'), t('HashRef') ] )
),
);
1;
# ABSTRACT: Types used for parameter checking in Log::Dispatch
__END__
=pod
=encoding UTF-8
=head1 NAME
Log::Dispatch::Types - Types used for parameter checking in Log::Dispatch
=head1 VERSION
version 2.71
=head1 DESCRIPTION
This module has no user-facing parts.
=for Pod::Coverage .*
=head1 SUPPORT
=head1 SOURCE
The source code repository for Log-Dispatch can be found at L<https://github.com/houseabsolute/Log-Dispatch>.
=head1 AUTHOR
Dave Rolsky <autarch@urth.org>
=head1 COPYRIGHT AND LICENSE
This software is Copyright (c) 2023 by Dave Rolsky.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)
The full text of the license can be found in the
F<LICENSE> file included with this distribution.
=cut