The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Type::Tiny::Signatures - Type::Tiny Method/Function Signatures

VERSION

version 0.08

SYNOPSIS

  use Type::Tiny;
  use Type::Tiny::Signatures;

  method hello (Str $greeting, Str $fullname) {
    print "$greeting, $fullname\n";
  }

DESCRIPTION

This module uses Function::Parameters to extend Perl with keywords that let you define methods and functions with parameter lists which can be validated using Type::Tiny type constraints. The type constraints can be provided by the Type::Tiny standard library, Types::Standard, or any supported user-defined type library which can be a Moose, MooseX::Type, MouseX::Type, or Type::Library library.

  use Type::Tiny;
  use Type::Tiny::Signatures 'MyApp::Types';

  method identify (Str $name, SSN $number) {
    print "identifying $name using SSN $number\n";
  }

The method and function signatures can be configured to validate user-defined type constraints by passing the user-defined type library package name as an argument to the Type::Tiny::Signatures usage declaration. The default behavior configures the Function::Parameters pragma using options that mimick the previously default lax-mode, i.e. strict-mode disabled.

AUTHOR

Al Newkirk <al@iamalnewkirk.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2018 by Al Newkirk.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.