Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/modules / ___dist / state-tree / mockStore.js
Size: Mime:
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.mockStore = mockStore;
exports.default = void 0;

var _react = _interopRequireDefault(require("react"));

var _mobxReact = require("xmobx/mobx-react");

var _chainAbleBoost = require("chain-able-boost");

var _jsxFileName = "/Users/michaelfrohberg/Training/mono/packages/modules/state-tree/mockStore.js";

function _interopRequireDefault(obj) {
  return obj && obj.__esModule ? obj : {
    default: obj
  };
}

function _extends() {
  _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;
  };

  return _extends.apply(this, arguments);
} // @TODO move this to bootstrapper
// import { get } from 'lodash'
// would be fixtures
// const exampleMockDataDefaults = {
//   eh: true,
// }

/**
 * @param {*} mockDataLikeFixture Object
 * @param {*} [mockTransformer=Function] optional transformer, default returns merged properties
 * @return {React.Component} connected the props with the mock data
 *
 * @example
 *
 *    @mockStore(fixture)
 *    class UI extends React.Component {}
 *
 */


function mockStore(mockDataLikeFixture, mockTransformer = _chainAbleBoost.identity) {
  return function connectToMock(ViewComponent) {
    var _class;

    let Mocked = (0, _mobxReact.observer)(_class = class Mocked extends _react.default.Component {
      render() {
        const props = this.props;
        const decoratedMockedProps = mockTransformer(Object.assign({}, mockDataLikeFixture, props));

        try {
          throw new Error('for debugging');
        } catch (error) {// this has been added so you can turn on "pause on uncaught exceptions" in chrome debugger to inspect :-)
        }

        return _react.default.createElement(ViewComponent, _extends({}, decoratedMockedProps, {
          __source: {
            fileName: _jsxFileName,
            lineNumber: 40
          },
          __self: this
        }));
      }

    }) || _class;

    return Mocked;
  };
}

var _default = mockStore;
exports.default = _default;