yasen_client = require('./yasen_client.coffee')
_ = require('lodash')

module.exports = (request_params, callbacks) ->
  if localStorage.getItem('debug')
    if not not localStorage.getItem('yasen_response')
      _.delay((-> callbacks.on_update(JSON.parse(localStorage.getItem('yasen_response')))), 100)
      _.delay((-> callbacks.on_finish()), 200)
      stop: ->
    else
      recording_callbacks = {
        result: []
        on_update: (data) ->
          @result = _.union(@result, data)
          callbacks.on_update(data)
        on_finish: ->
          localStorage.setItem('yasen_response', JSON.stringify(@result))
          callbacks.on_finish()
      }
      yasen_client(request_params, recording_callbacks)
  else
    yasen_client(request_params, callbacks)
