NAME

Module::Generic::Boolean - Boolean Representation Class

SYNOPSIS

    my $bool = Module::Generic::Boolean->true;
    # or
    my $bool = Module::Generic::Boolean::true;
    # Now I have a Module::Generic::Boolean object

    # Returns 1
    if( $bool )
    {
        # Do something
    }

    my $hash =
    {
        name => 'John Doe',
        active => $bool,
    };
    # Converting to json
    print( JSON->new->encode( $hash ), "\n" );
    # Would result in
    {
        name: "Jogn Doe",
        active: true
    }

DESCRIPTION

This a class/package to represent boolean value and make sure they are recognised interchangeably as perl boolean, i.e. 1 or 0, or as JSON bool, i.e. true or false

The code is taken and adapted from part of JSON module.

METHODS

true

This returns a perl true value i.e. 1 or true when added into JSON

false

This returns a perl false value i.e. 0 or false when added into JSON

is_bool

Provided with a value and this returns true if it is a Module::Generic::Boolean object

is_true

Provided with a value and this returns true if it is a Module::Generic::Boolean object and this is true.

is_false

Provided with a value and this returns true if it is a Module::Generic::Boolean object and this is false.

TO_JSON

This is called by JSON to transform an object into json data format.

It returns \1 if true, or \0 otherwise. Those values are understood by JSON and transcoded accordingly.

AUTHOR

Jacques Deguest <jack@deguest.jp>

COPYRIGHT & LICENSE

Copyright (c) 2000-2020 DEGUEST Pte. Ltd.

You can use, copy, modify and redistribute this package and associated files under the same terms as Perl itself.