Code coverage report for src/hot.js

Statements: 33.33% (22 / 66)      Branches: 15.79% (6 / 38)      Functions: 35.71% (5 / 14)      Lines: 25.42% (15 / 59)      Ignored: 8 statements, 2 functions, 3 branches     

All files » src/ » hot.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117        1         1   1 1 1     1   1 2 2                                                                         1 2 2                                               1                                                     1 2          
// todo - unregister on unload
 
"use strict";
 
Object.defineProperty(exports, "__esModule", {
  value: true
});
// istanbul ignore next
 
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
 
exports.register = register;
exports.act = act;
exports.hot = hot;
// istanbul ignore next
 
function _defineProperty(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); }
 
function register(dis, m) {
  Eif (!m.hot) {
    return dis.register;
  }
  var fn = dis.register;
  m.hot.data = m.hot.data || {};
  m.hot.data.dhl = m.hot.data.dhl || {};
  var dhl = m.hot.data.dhl;
  m.hot.sIndex = m.hot.sIndex || 0;
 
  dhl.reduceFns = dhl.reduceFns || [];
  dhl.stores = dhl.stores || [];
  var couched = function couched(initial, reduce, compare) {
    return (function (i) {
      dhl.reduceFns[i] = reduce;
      if (!dhl.stores[i]) {
        dhl.stores[i] = fn(initial, function () {
          return dhl.reduceFns[i].apply(null, arguments);
        }, compare);
      }
      m.hot.sIndex++;
      return dhl.stores[i];
    })(m.hot.sIndex);
  };
 
  if (!m.hot.sAttached) {
    m.hot.sAttached = true;
    m.hot.addDisposeHandler(function (data) {
      Object.assign(data, {
        dhl: _extends({}, data.dhl, {
          reduceFns: dhl.reduceFns,
          stores: dhl.stores
        })
      });
    });
  }
  return couched;
}
 
function act(dis, m) {
  Eif (!m.hot) {
    return dis.act;
  }
  var fn = dis.act;
  m.hot.data = m.hot.data || {};
  m.hot.data.dhl = m.hot.data.dhl || {};
  var dhl = m.hot.data.dhl;
  m.hot.aIndex = m.hot.aIndex || 0;
 
  dhl.acts = dhl.acts || [];
  dhl.maps = dhl.maps || [];
 
  var couched = function couched(map, prefix) {
    return (function (i) {
      dhl.maps[i] = map;
      if (!dhl.acts[i]) {
        dhl.acts[i] = fn(Object.keys(map).reduce(function (o, key) {
          return Object.assign(o, _defineProperty({}, key, function () {
            for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
              args[_key] = arguments[_key];
            }
 
            if (dhl.maps[i][key]) {
              // istanbul ignore next
 
              var _dhl$maps$i;
 
              return (_dhl$maps$i = dhl.maps[i])[key].apply(_dhl$maps$i, args);
            }
          }));
        }, {}), prefix);
      }
 
      m.hot.aIndex++;
      return dhl.acts[i];
    })(m.hot.aIndex);
  };
 
  if (!m.hot.aAttached) {
    m.hot.aAttached = true;
    m.hot.addDisposeHandler(function (data) {
      return Object.assign(data, {
        dhl: _extends({}, data.dhl, {
          acts: dhl.acts,
          maps: dhl.maps
        })
      });
    });
  }
  return couched;
}
 
function hot(dis, m) {
  return {
    register: register(dis, m),
    act: act(dis, m)
  };
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9zdW5pbHBhaS9jb2RlL2Rpc3RvL3NyYy9ob3QuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUFFZ0IsUUFBUSxHQUFSLFFBQVE7UUF5Q1IsR0FBRyxHQUFILEdBQUc7UUErQ0gsR0FBRyxHQUFILEdBQUc7Ozs7O0FBeEZaLFNBQVMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUM7QUFDOUIsTUFBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUM7QUFDUixXQUFPLEdBQUcsQ0FBQyxRQUFRLENBQUM7R0FDckI7QUFDRCxNQUFJLEVBQUUsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO0FBQ3RCLEdBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztBQUM5QixHQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQztBQUN0QyxNQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7QUFDekIsR0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDOztBQUVqQyxLQUFHLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO0FBQ3BDLEtBQUcsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7QUFDOUIsTUFBSSxPQUFPLEdBQUcsU0FBVixPQUFPLENBQUksT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPO1dBQUssQ0FBQyxVQUFBLENBQUMsRUFBSTtBQUNoRCxTQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQztBQUMxQixVQUFHLENBQUMsR0FBRyxD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QztXQUNGLEVBQUU7U0FBQSxFQUNMLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO09BQ2Q7O0FBRUQsT0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztBQUNmLGFBQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUVwQixDQUFBLENBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztHQUVsQixDQUFDOztBQUVGLE1BQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBQztBQUNsQixLQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7QUFDdkIsS0FBQyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFBLElBQUk7YUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTtBQUNsRCxXQUFHLGVBQ0UsSUFBSSxDQUFDLEdBQUc7QUFDWCxjQUFJLEVBQUUsR0FBRyxDQUFDLElBQUk7QUFDZCxjQUFJLEVBQUUsR0FBRyxDQUFDLElBQUk7VUFDZjtPQUNGLENBQUM7S0FBQSxDQUFDLENBQUM7R0FDTDtBQUNELFNBQU8sT0FBTyxDQUFDO0NBQ2hCOztBQUdNLFNBQVMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUM7QUFDekIsU0FBTztBQUNMLFlBQVEsRUFBRSxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztBQUMxQixPQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7R0FDakIsQ0FBQztDQUNIIiwiZmlsZSI6Ii9Vc2Vycy9zdW5pbHBhaS9jb2RlL2Rpc3RvL3NyYy9ob3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0b2RvIC0gdW5yZWdpc3RlciBvbiB1bmxvYWRcblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyKGRpcywgbSl7XG4gIGlmKCFtLmhvdCl7XG4gICAgcmV0dXJuIGRpcy5yZWdpc3RlcjtcbiAgfVxuICBsZXQgZm4gPSBkaXMucmVnaXN0ZXI7XG4gIG0uaG90LmRhdGEgPSBtLmhvdC5kYXRhIHx8IHt9O1xuICBtLmhvdC5kYXRhLmRobCA9IG0uaG90LmRhdGEuZGhsIHx8IHt9O1xuICBsZXQgZGhsID0gbS5ob3QuZGF0YS5kaGw7XG4gIG0uaG90LnNJbmRleCA9IG0uaG90LnNJbmRleCB8fCAwO1xuXG4gIGRobC5yZWR1Y2VGbnMgPSBkaGwucmVkdWNlRm5zIHx8IFtdO1xuICBkaGwuc3RvcmVzID0gZGhsLnN0b3JlcyB8fCBbXTtcbiAgbGV0IGNvdWNoZWQgPSAoaW5pdGlhbCwgcmVkdWNlLCBjb21wYXJlKSA9PiAoaSA9PiB7XG4gICAgZGhsLnJlZHVjZUZuc1tpXSA9IHJlZHVjZTtcbiAgICBpZighZGhsLnN0b3Jlc1tpXSl7XG4gICAgICBkaGwuc3RvcmVzW2ldID0gZm4oaW5pdGlhbCwgZnVuY3Rpb24oKXtcbiAgICAgICAgcmV0dXJuIGRobC5yZWR1Y2VGbnNbaV0uYXBwbHkobnVsbCwgYXJndW1lbnRzKTtcbiAgICAgIH0sIGNvbXBhcmUpO1xuICAgIH1cbiAgICBtLmhvdC5zSW5kZXgrKztcbiAgICByZXR1cm4gZGhsLnN0b3Jlc1tpXTtcblxuICB9KShtLmhvdC5zSW5kZXgpO1xuXG5cblxuICBpZighbS5ob3Quc0F0dGFjaGVkKXtcbiAgICBtLmhvdC5zQXR0YWNoZWQgPSB0cnVlO1xuICAgIG0uaG90LmFkZERpc3Bvc2VIYW5kbGVyKGRhdGEgPT4ge1xuICAgICAgT2JqZWN0LmFzc2lnbihkYXRhLCB7XG4gICAgICAgIGRobDoge1xuICAgICAgICAgIC4uLmRhdGEuZGhsLFxuICAgICAgICAgIHJlZHVjZUZuczogZGhsLnJlZHVjZUZucyxcbiAgICAgICAgICBzdG9yZXM6IGRobC5zdG9yZXNcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIGNvdWNoZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhY3QoZGlzLCBtKXtcbiAgaWYoIW0uaG90KXtcbiAgICByZXR1cm4gZGlzLmFjdDtcbiAgfVxuICBsZXQgZm4gPSBkaXMuYWN0O1xuICBtLmhvdC5kYXRhID0gbS5ob3QuZGF0YSB8fCB7fTtcbiAgbS5ob3QuZGF0YS5kaGwgPSBtLmhvdC5kYXRhLmRobCB8fCB7fTtcbiAgbGV0IGRobCA9IG0uaG90LmRhdGEuZGhsO1xuICBtLmhvdC5hSW5kZXggPSBtLmhvdC5hSW5kZXggfHwgMDtcblxuICBkaGwuYWN0cyA9IGRobC5hY3RzIHx8IFtdO1xuICBkaGwubWFwcyA9IGRobC5tYXBzIHx8IFtdO1xuXG4gIGxldCBjb3VjaGVkID0gKG1hcCwgcHJlZml4KSA9PiB7XG4gICAgcmV0dXJuIChpID0+IHtcbiAgICAgIGRobC5tYXBzW2ldID0gbWFwO1xuICAgICAgaWYoIWRobC5hY3RzW2ldKXtcbiAgICAgICAgZGhsLmFjdHNbaV0gPSBmbihPYmplY3Qua2V5cyhtYXApLnJlZHVjZSgobywga2V5KT0+XG4gICAgICAgICAgT2JqZWN0LmFzc2lnbihvLCB7W2tleV06ICguLi5hcmdzKSA9PiB7XG4gICAgICAgICAgICBpZihkaGwubWFwc1tpXVtrZXldKXtcbiAgICAgICAgICAgICAgcmV0dXJuIGRobC5tYXBzW2ldW2tleV0oLi4uYXJncyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX0pLFxuICAgICAgICB7fSksIHByZWZpeCk7XG4gICAgICB9XG5cbiAgICAgIG0uaG90LmFJbmRleCsrO1xuICAgICAgcmV0dXJuIGRobC5hY3RzW2ldO1xuXG4gICAgfSkobS5ob3QuYUluZGV4KTtcblxuICB9O1xuXG4gIGlmKCFtLmhvdC5hQXR0YWNoZWQpe1xuICAgIG0uaG90LmFBdHRhY2hlZCA9IHRydWU7XG4gICAgbS5ob3QuYWRkRGlzcG9zZUhhbmRsZXIoZGF0YSA9PiBPYmplY3QuYXNzaWduKGRhdGEsIHtcbiAgICAgIGRobDoge1xuICAgICAgICAuLi5kYXRhLmRobCxcbiAgICAgICAgYWN0czogZGhsLmFjdHMsXG4gICAgICAgIG1hcHM6IGRobC5tYXBzXG4gICAgICB9XG4gICAgfSkpO1xuICB9XG4gIHJldHVybiBjb3VjaGVkO1xufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBob3QoZGlzLCBtKXtcbiAgcmV0dXJuIHtcbiAgICByZWdpc3RlcjogcmVnaXN0ZXIoZGlzLCBtKSxcbiAgICBhY3Q6IGFjdChkaXMsIG0pXG4gIH07XG59XG4iXX0=