Types::URI - type constraints and coercions for URIs
package FroobleDocument;
use Moose;
use Types::URI -all;
has source => (
is => 'ro',
isa => Uri,
coerce => 1,
);
Types::URI is a type constraint library suitable for use with Moo/Moose
attributes, Kavorka sub signatures, and so forth.
This module provides some type constraints broadly compatible with those
provided by MooseX::Types::URI, plus a couple of extra type constraints.
- "Uri"
- A class type for URI/URI::WithBase. Coercions from:
- from "Uuid"
- Coerces to a URI in the "urn:uuid:"
schema. (See Types::UUID.)
- from "Str"
- Uses "new" in URI.
- from "Path"
- Uses "new" in URI::file. (See Types::Path::Tiny.)
- from "ScalarRef"
- Uses "new" in URI::data.
- from "HashRef"
- Coerces using URI::FromHash.
- from "Iri"
- Uses "new" in URI.
- from RDF::Trine::Node::Resource, RDF::Trine::Namespace,
XML::Namespace
- Uses "new" in URI.
- "FileUri"
- A subtype of "Uri" covering URI::file.
Coercions from:
- from "Str"
- Uses "new" in URI::file.
- from "Path"
- Uses "new" in URI::file. (See Types::Path::Tiny.)
- from "HashRef"
- Coerces using URI::FromHash.
- from "Iri"
- Uses "new" in URI.
- from RDF::Trine::Node::Resource, RDF::Trine::Namespace,
XML::Namespace
- Uses "new" in URI.
- "DataUri"
- A subtype of "Uri" covering URI::data.
Coercions from:
- from "Str"
- Uses "new" in URI::data.
- from "ScalarRef"
- Uses "new" in URI::data.
- from "HashRef"
- Coerces using URI::FromHash.
- from "Iri"
- Uses "new" in URI.
- from RDF::Trine::Node::Resource, RDF::Trine::Namespace,
XML::Namespace
- Uses "new" in URI.
- "Iri"
- A class type for IRI. Coercions as per
"Uri" above, plus can coerce from
"Uri".
Please report any bugs to
<http://rt.cpan.org/Dist/Display.html?Queue=Types-URI>.
MooseX::Types::URI, Type::Tiny::Manual, URI, URI::file, URI::data,
URI::FromHash, RDF::Trine::Node::Resource, IRI.
Types::UUID, Types::Path::Tiny, Types::Standard.
Toby Inkster <tobyink@cpan.org>.
This software is copyright (c) 2014 by Toby Inkster.
This is free software; you can redistribute it and/or modify it
under the same terms as the Perl 5 programming language system itself.
THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.