package MyApp::Type::Library; use parent 'Specio::Exporter'; use Specio::Declare; declare( ... ); # more types here package MyApp::Foo; use MyApp::Type::Library
The exported types are available through the importing package's "t" subroutine.
By default, types your package imports are not re-exported:
package MyApp::Type::Library; use parent 'Specio::Exporter'; use Specio::Declare; use Specio::Library::Builtins;
In this case, the types provided by Specio::Library::Builtins are not exported to packages which "use MyApp::Type::Library".
You can explicitly ask for types to be re-exported:
package MyApp::Type::Library; use parent 'Specio::Exporter'; use Specio::Declare; use Specio::Library::Builtins -reexport;
In this case, packages which "use MyApp::Type::Library" will get all the types from Specio::Library::Builtins as well as any types defined in "MyApp::Type::Library".
package My::Library; use My::Library::Internal -reexport; use Specio::Library::Builtins -reexport; use Specio::Subs qw( My::Library::Internal Specio::Library::Builtins ); sub _also_export { return Specio::Subs::subs_installed_into(__PACKAGE__); }
I am also usually active on IRC as 'autarch' on "irc://irc.perl.org".
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)
The full text of the license can be found in the LICENSE file included with this distribution.