Raku Land

Data::Dump

Data::Dump

for perl6

that's right folks, here's a quicky for your data dump needs. if you have Terminal::ANSIColor installed then the output will be so colorful your eyes might bleed.

feel free to submit bugs or make suggestions, if you submit a bug please provide a concise example that replicates the problem and i'll add some tests and make this thing better.

options

indent

default: 2

<...> say Dump({ some => object }, :indent(4)); <...>

max-recursion

default: 50

<...> say Dump({ some => object }, :max-recursion(3)); <...>

color

default: True

This will override the default decision to use color on the output if Terminal::ANSIColor is installed. Passing a value of False will ensure that the output is vanilla.

<...> say Dump({ some => object }, :color(False)); <...>

gist

default: False

This will override the default object determination and output and use the output of .gist

<...> say Dump({ some => object}, :gist); <...>

no-postfix

default: False

This will shorten Str|Int|Rat|Numeric output from 5.Int|"H".Str to simply 5|"H"

skip-methods

default: False

This will skip the methods if you dump custom classes.

<...> say Dump($object, :skip-methods(True)); <...>

overrides

default: {}

This will allow you to override how DD dumps certain types of objects.

Dump($object, overrides => { Int => sub ($int) { return $int * 2; }, Str => sub ($str) { return "'$str'"; }, # etc. });

usage

use Data::Dump; say Dump(%( key1 => 'value1', key256 => 1, ));

output:

{
  key1   => "value1".Str,
  key256 => 1.Int,
}

note: if you have Terminal::ANSIColor installed then it's going to be amazing. so, prepare yourself.

oh you want to Dump your custom class?

here you go, dude

use Data::Dump; class E { has $.public; has Int $!private = 5; method r(Str $a) { }; method s($b, :$named? = 5) { }; method e returns Int { say $!private; }; }; say Dump(E.new);

output:

E :: (
  $!private => 5.Int,
  $!public  => (Any),

  method e () returns Int {...},
  method public () returns Mu {...},
  method r (Str $a) returns Mu {...},
  method s (Any $b, Any :named($named) = 5) returns Mu {...},
)