NAME

Mo::utils::Unicode - Mo utilities for Unicode.

SYNOPSIS

use Mo::utils::Unicode qw(check_array_unicode_block check_unicode_block check_unicode_script);

check_array_unicode_block($self, $key);
check_unicode_block($self, $key);
check_unicode_script($self, $key);

DESCRIPTION

Mo utilities for Unicode checking of data objects.

SUBROUTINES

check_array_unicode_block

check_array_unicode_block($self, $key);

Check parameter defined by $key which is valid array with Unicode block names.

Put error if check isn't ok.

Returns undef.

check_unicode_block

check_unicode_block($self, $key);

Check parameter defined by $key which is valid Unicode block name.

Put error if check isn't ok.

Returns undef.

check_unicode_script

check_unicode_script($self, $key);

Check parameter defined by $key which is valid Unicode script name.

Put error if check isn't ok.

Returns undef.

ERRORS

check_array_unicode_block():
        From Mo::utils::check_array():
                Parameter '%s' must be a array.
                        Value: %s
                        Reference: %s
        Parameter '%s' contains invalid Unicode block.
                Value: %s
check_unicode_block():
        Parameter '%s' contains invalid Unicode block.
                Value: %s
check_unicode_script():
        Parameter '%s' contains invalid Unicode script.
                Value: %s

EXAMPLE1

use strict;
use warnings;

use Mo::utils::Unicode qw(check_array_unicode_block);

my $self = {
        'key' => [
                'Latin Extended-A',
                'Latin Extended-B',
        ],
};
check_array_unicode_block($self, 'key');

# Print out.
print "ok\n";

# Output:
# ok

EXAMPLE2

use strict;
use warnings;

use Error::Pure;
use Mo::utils::Unicode qw(check_array_unicode_block);

$Error::Pure::TYPE = 'Error';

my $self = {
        'key' => [
               'Bad Unicode block',
         ],
};
check_array_unicode_block($self, 'key');

# Print out.
print "ok\n";

# Output like:
# #Error [..utils.pm:?] Parameter 'key' contains invalid Unicode block.

EXAMPLE3

use strict;
use warnings;

use Mo::utils::Unicode qw(check_unicode_block);

my $self = {
        'key' => 'Latin Extended-A',
};
check_unicode_block($self, 'key');

# Print out.
print "ok\n";

# Output:
# ok

EXAMPLE4

use strict;
use warnings;

use Error::Pure;
use Mo::utils::Unicode qw(check_unicode_block);

$Error::Pure::TYPE = 'Error';

my $self = {
        'key' => 'Bad Unicode block',
};
check_unicode_block($self, 'key');

# Print out.
print "ok\n";

# Output like:
# #Error [..utils.pm:?] Parameter 'key' contains invalid Unicode block.

EXAMPLE5

use strict;
use warnings;

use Mo::utils::Unicode qw(check_unicode_script);

my $self = {
        'key' => 'Thai',
};
check_unicode_script($self, 'key');

# Print out.
print "ok\n";

# Output:
# ok

EXAMPLE6

use strict;
use warnings;

use Error::Pure;
use Mo::utils::Unicode qw(check_unicode_script);

$Error::Pure::TYPE = 'Error';

my $self = {
        'key' => 'bad_script',
};
check_unicode_script($self, 'key');

# Print out.
print "ok\n";

# Output like:
# #Error [..utils.pm:?] Parameter 'key' contains invalid Unicode script.

DEPENDENCIES

Error::Pure, Exporter, List::Util, Mo::utils Readonly, Unicode::UCD.

SEE ALSO

Mo

Micro Objects. Mo is less.

REPOSITORY

https://github.com/michal-josef-spacek/Mo-utils-Unicode

AUTHOR

Michal Josef Špaček mailto:skim@cpan.org

http://skim.cz

LICENSE AND COPYRIGHT

© 2025 Michal Josef Špaček

BSD 2-Clause License

VERSION

0.01