logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Types::URI - type constraints and coercions for URIs

Author

       Toby Inkster <tobyink@cpan.org>.

Bugs

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

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".

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.

perl v5.40.1                                       2025-08-03                                    Types::URI(3pm)

Name

       Types::URI - type constraints and coercions for URIs

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.

Synopsis

          package FroobleDocument;

          use Moose;
          use Types::URI -all;

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

See Also