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.