The Perl Toolchain Summit 2025 Needs You: You can help 🙏 Learn more

NAME

Declare::Constraints::Simple::Library::Exportable - Export Facilities

DESCRIPTION

This contains the constraint export logic of the module.

METHODS

import($flag, @args)

# or
use ExportableModule-Only => qw(Constraint1 ...);
# or
use ExportableModule-Library;

Exports the constraints to the calling namespace. This includes all libraries in Declare::Constraints::Simple::Library, that package itself (providing all default constraints) or Declare::Constraints::Simple itself as a shortcut.

Possible flags are

All

Imports all constraints registered in the class and its base classes.

Only

The above line would only import the HasLength constraints from the Scalar default library. Note however, that you could also just have said

use Declare::Constraints::Simple-Only => 'HasLength';

as both ::Simple and ::Simple::Library work on all default libraries.

Library

You can use this to define your own constraint library. For more information, see Declare::Constraints::Simple::Library::Base.

_build_handle_map()

Internal method to build constraint-to-class mappings.

_export_all($target, $handle_map)

Internal method. Exports all handles in $handle_map into the $target namespace.

_export_these($target, $handle_map, @constraints)

Internal method. Exports all @constraints from $handle_map into the $target namespace.

SEE ALSO

Declare::Constraints::Simple, Declare::Constraints::Simple::Library, Declare::Constraints::Simple::Library::Base

AUTHOR

Robert 'phaylon' Sedlacek <phaylon@dunkelheit.at>

LICENSE AND COPYRIGHT

This module is free software, you can redistribute it and/or modify it under the same terms as perl itself.