Data-HTML-TreeDumper

 view release on metacpan or  search on metacpan

lib/Data/HTML/TreeDumper.pm  view on Meta::CPAN

package Data::HTML::TreeDumper;
use 5.010;
use strict;
use warnings;
use utf8;
use Encode;
use Carp       qw(croak);
use YAML::Syck qw(Load LoadFile Dump DumpFile);
use Ref::Util  qw(is_ref is_scalarref is_arrayref is_hashref);
use Const::Fast;
use HTML::Entities;
use HTML::AutoTag;

use version 0.77; our $VERSION = version->declare("v0.0.4");

$YAML::Syck::ImplicitUnicode = 1;
$YAML::Syck::ImplicitTyping  = 1;
$YAML::Syck::Headless        = 1;

const my %default => (
    ClassKey           => 'trdKey',
    ClassValue         => 'trdValue',
    ClassOrderedList   => 'trdOL',
    ClassUnorderedList => 'trdUL',
    StartOrderedList   => 0,
    MaxDepth           => 32,
);

my $autoTag = HTML::AutoTag->new( encode => 0, sorted => 1 );

#region Class methods

sub new {
    my $class = shift;
    my $args  = {
        %default,
        MaxDepth => 8,
        ( is_hashref( $_[0] ) ? %{ $_[0] } : @_ ),
    };
    my $self = {};
    bless $self, $class;
    $self->ClassKey( $args->{ClassKey} );
    $self->ClassValue( $args->{ClassValue} );
    $self->ClassOrderedList( $args->{ClassOrderedList} );
    $self->ClassUnorderedList( $args->{ClassUnorderedList} );
    $self->StartOrderedList( $args->{StartOrderedList} );
    $self->MaxDepth( $args->{MaxDepth} );
    return $self;
}

#endregion

#region Instance properties

sub ClassKey {
    my $self = shift;
    if (@_) {
        $self->{ClassKey} = shift;
    }
    return $self->{ClassKey};
}

sub ClassValue {
    my $self = shift;
    if (@_) {
        $self->{ClassValue} = shift;
    }
    return $self->{ClassValue};
}



( run in 0.659 second using v1.01-cache-2.11-cpan-39bf76dae61 )