d1943135892cd0c27488e7e5917d8be6ab85c05f
[dbsrgits/Data-Query.git] / lib / Data / Query / ExprHelpers.pm
1 package Data::Query::ExprHelpers;
2
3 use strictures 1;
4 use Data::Query::Constants qw(DQ_VALUE DQ_OPERATOR DQ_IDENTIFIER);
5
6 use base qw(Exporter);
7
8 our @EXPORT_OK = qw(perl_scalar_value perl_operator identifier);
9
10 sub perl_scalar_value {
11   +{
12     type => DQ_VALUE,
13     subtype => { Perl => 'Scalar' },
14     value => $_[0]
15   }
16 }
17
18 sub perl_operator {
19   my ($op, @args) = @_;
20   +{
21     type => DQ_OPERATOR,
22     operator => { Perl => $op },
23     args => \@args
24   }
25 }
26
27 sub identifier {
28   +{
29     type => DQ_IDENTIFIER,
30     elements => [ @_ ]
31   }
32 }
33
34 1;