Remove HashAST and ArrayAST types
[dbsrgits/SQL-Abstract-2.0-ish.git] / lib / SQL / Abstract / Compat.pm
index aa2bba6..1c13897 100644 (file)
@@ -3,10 +3,13 @@ use MooseX::Declare;
 class SQL::Abstract::Compat {
 
   use Moose::Util::TypeConstraints;
-  use MooseX::Types -declare => [qw/LogicEnum/];
+  use MooseX::Types::Moose qw/Str ScalarRef ArrayRef HashRef/;
+  use MooseX::Types -declare => [qw/LogicEnum WhereType/];
 
   enum LogicEnum, qw(OR AND);
 
+  subtype WhereType, as Str;
+
   clean;
 
   has logic => (
@@ -15,15 +18,26 @@ class SQL::Abstract::Compat {
     default => 'AND'
   );
 
+
+
   method select(Str|ArrayRef|ScalarRef $from, ArrayRef|Str $fields,
                 Str|ScalarRef|ArrayRef|HashRef $where?,
                 Str|ScalarRef|ArrayRef|HashRef $order?) {
     return ("", );
   }
 
-  method where(Str|ScalarRef|ArrayRef|HashRef $where?,
+  method where(Str|ScalarRef|ArrayRef|HashRef $where,
                Str|ScalarRef|ArrayRef|HashRef $order?) {
+
+    my $ast = {
+      -type => 'expr',
+    };
   }
+
+  method recurse_where(LogicEsnum $where) {
+    
+  }
+
 }
 
 =head1 NAME