The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

CSS::Object::Value - CSS Object Oriented Value

SYNOPSIS

    use CSS::Object::Value;
    # For font-size property for example
    my $val = CSS::Object::Value->new( '1.2rem',
        debug => 3,
        format => $format_object,
    ) || die( CSS::Object::Value->error );

    # Adding value with comment inside
    my $val = CSS::Object::Value->new( '1.2rem', with_comment =>
    {
        before => 'This is 12px',
        after => ["Might want to change this", "to something else"],
    }) || die( "Cannot add value with comments: ", CSS::Object::Value->error );
    
    my $val = CSS::Object::Value->new( '/* Might need to change this */ 1.2rem /* Maybe move this to px instead? */',
        debug => 3,
        format => $format_object,
    ) || die( CSS::Object::Value->error );

    # or
    $val->comment_before->push( $css->new_comment( "More comment before value" ));
    #val->comment_after->push( $css->new_comment( "Another comment after too" ));

    # or
    $val->with_comment({
        before => 'This is 12px',
        after => ["Might want to change this", "to something else"],
    }) || die( $val->error );

VERSION

    v0.1.0

DESCRIPTION

CSS::Object::Value is a module to contain the CSS properties' value.

CONSTRUCTOR

new

To instantiate a new CSS::Object::Value object, pass an hash reference of following parameters:

debug

This is an integer. The bigger it is and the more verbose is the output.

format

This is a CSS::Object::Format object or one of its child modules.

value

The property value, which can also be called as the sole argument:

    # For display property for example
    my $val = CSS::Object::Value->new( 'none' );
with_comment

This parameter must be an hash reference with 2 possible properties: before and after. Each of thoe properties can contain either a simple string, an array reference of string, or an CSS::Object::Comment object.

It returns our object

METHODS

as_string

This calls the "format" and its method "value_as_string" in CSS::Object::Format

It returns the css string produce or undef and sets an Module::Generic::Exception upon error.

format

This is a CSS::Object::Format object or one of its child modules.

value

Sets or gets the value for this property value. The value stored here becomes a Module::Generic::Scalar and thus all its object methods can be used

Alternatively, it accepts a CSS::Object::Value and will call its "value" method to get the actual string to store.

It returns the value currently stored.

with_comment

This method takes an hash reference with 2 possible properties: before and after. Each of thoe properties can contain either a simple string, an array reference of string, or an CSS::Object::Comment object.

It returns the object used to call this method, or undef if there was an error.

AUTHOR

Jacques Deguest <jack@deguest.jp>

SEE ALSO

CSS::Object

COPYRIGHT & LICENSE

Copyright (c) 2020 DEGUEST Pte. Ltd.

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