Types::URI(3pm)

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 <http://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 <tobyink@cpan.org>.

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.