class Dentaku::AST::Map

def self.max_param_count

def self.max_param_count
  3
end

def self.min_param_count

def self.min_param_count
  3
end

def deferred_args

def deferred_args
  [1, 2]
end

def value(context = {})

def value(context = {})
  collection      = @args[0].value(context)
  item_identifier = @args[1].identifier
  expression      = @args[2]
  collection.map do |item_value|
    expression.value(
      context.update(
        FlatHash.from_hash(item_identifier => item_value)
      )
    )
  end
end