NAME

Sah::Schema::currency::pair - Fiat currency pair, e.g. USD/IDR

VERSION

This document describes version 0.008 of Sah::Schema::currency::pair (from Perl distribution Sah-Schemas-Currency), released on 2020-03-08.

SYNOPSIS

Using with Data::Sah:

use Data::Sah qw(gen_validator);
my $vdr = gen_validator("currency::pair*");
say $vdr->($data) ? "valid" : "INVALID!";

# Data::Sah can also create a validator to return error message, coerced value,
# even validators in other languages like JavaScript, from the same schema.
# See its documentation for more details.

Using in Rinci function metadata (to be used with Perinci::CmdLine, etc):

package MyApp;
our %SPEC;
$SPEC{myfunc} = {
    v => 1.1,
    summary => 'Routine to do blah ...',
    args => {
        arg1 => {
            summary => 'The blah blah argument',
            schema => ['currency::pair*'],
        },
        ...
    },
};
sub myfunc {
    my %args = @_;
    ...
}

Sample data:

""  # INVALID

"idr"  # INVALID

"usd/idr"  # valid, becomes "USD/IDR"

"usd idr"  # INVALID

"usd/foo"  # INVALID

DESCRIPTION

Currency pair is string in the form of currency1/currency2, where currency1 is called the base currency while currency2 is the quote (or price) currency. Both must be known currency codes (e.g. USD, or IDR).

Currency code is checked against Locale::Codes::Currency_Codes.

Will be normalized to uppercase.

HOMEPAGE

Please visit the project's homepage at https://metacpan.org/release/Sah-Schemas-Currency.

SOURCE

Source repository is at https://github.com/perlancar/perl-Sah-Schemas-Currency.

BUGS

Please report any bugs or feature requests on the bugtracker website https://rt.cpan.org/Public/Dist/Display.html?Name=Sah-Schemas-Currency

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.

AUTHOR

perlancar <perlancar@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2020, 2019, 2018 by perlancar@cpan.org.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.