NAME

Types::URI - type constraints and coercions for URIs

SYNOPSIS

package FroobleDocument;

use Moose;
use Types::URI -all;

has source => (
   is      => 'ro',
   isa     => Uri,
   coerce  => 1,
);

DESCRIPTION

Types::URI is a type constraint library suitable for use with Moo/Moose attributes, Kavorka sub signatures, and so forth.

Types

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.

BUGS

Please report any bugs to https://rt.cpan.org/Dist/Display.html?Queue=Types-URI.

SEE ALSO

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.

AUTHOR

Toby Inkster <[email protected]>.

COPYRIGHT AND LICENCE

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.

DISCLAIMER OF WARRANTIES

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.