"use strict";
Object.defineProperty(exports, "__esModule", {
  value: !0
}), exports.default = getComponent;
var _amosJsplumb = require("amos-jsplumb"),
  _CustomNode = _interopRequireDefault(require("./CustomNode")),
  _GiotNode = _interopRequireDefault(require("./GiotNode")),
  _fireNode = _interopRequireDefault(require("./fireNode"));

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

function ownKeys(t, e) {
  var r, o = Object.keys(t);
  return Object.getOwnPropertySymbols && (r = Object.getOwnPropertySymbols(t), e && (r = r.filter(function(e) {
    return Object.getOwnPropertyDescriptor(t, e).enumerable
  })), o.push.apply(o, r)), o
}

function _objectSpread(t) {
  for (var e = 1; e < arguments.length; e++) {
    var r = null != arguments[e] ? arguments[e] : {};
    e % 2 ? ownKeys(Object(r), !0).forEach(function(e) {
      _defineProperty(t, e, r[e])
    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(r)) : ownKeys(Object(r)).forEach(function(e) {
      Object.defineProperty(t, e, Object.getOwnPropertyDescriptor(r, e))
    })
  }
  return t
}

function _defineProperty(e, t, r) {
  return t in e ? Object.defineProperty(e, t, {
    value: r,
    enumerable: !0,
    configurable: !0,
    writable: !0
  }) : e[t] = r, e
}
var DefaultNode = _amosJsplumb.PlumbEleNode.DefaultNode,
  typeToComponentMap = _objectSpread({
    custom: _CustomNode.default,
    giot: _GiotNode.default
  }, _fireNode.default);

function getComponent(e) {
  return typeToComponentMap[e] || DefaultNode
}
module.exports = exports.default;
