Commit | Line | Data |
---|---|---|
a23e18d7 | 1 | |
4d1850a6 | 2 | package MooseX::Storage::Format::JSON; |
a23e18d7 | 3 | use Moose::Role; |
4 | ||
b5384d08 | 5 | use JSON::Any; |
a23e18d7 | 6 | |
4d1850a6 | 7 | requires 'pack'; |
8 | requires 'unpack'; | |
a23e18d7 | 9 | |
10 | sub thaw { | |
11 | my ( $class, $json ) = @_; | |
b5384d08 | 12 | $class->unpack( JSON::Any->jsonToObj($json) ); |
a23e18d7 | 13 | } |
14 | ||
15 | sub freeze { | |
16 | my $self = shift; | |
b5384d08 | 17 | JSON::Any->objToJson( $self->pack() ); |
a23e18d7 | 18 | } |
19 | ||
20 | 1; | |
21 | ||
22 | __END__ | |
23 | ||
24 | =pod | |
25 | ||
26 | =cut | |
27 |