view js/worker-map-reducer.js @ 55:aa013581aeca

Directory restructuring.
author Atul Varma <varmaa@toolness.com>
date Wed, 15 Apr 2009 08:07:42 -0700
parents worker-map-reducer.js@e29662aba1b6
children
line wrap: on
line source

function map(func, dict) {
  var mapDict = {};
  var currDoc;

  function emit(key, value) {
    var item = mapDict[key];
    if (!item)
      item = mapDict[key] = {keys: [], values: []};
    item.keys.push(currDoc.id);
    item.values.push(value);
  }

  for (key in dict) {
    currDoc = dict[key];
    func(currDoc, emit);
  }

  return mapDict;
}

function onmessage(event) {
  var mapFunc = eval("(" + event.data.map + ")");
  postMessage(map(mapFunc, event.data.dict));
};