"use strict";

exports.__esModule = true;
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var _Orf = _interopRequireDefault(require("./Orf"));
var _StackedAnnotations = _interopRequireDefault(require("./StackedAnnotations"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
function getExtraInnerCompProps(annotationRange, props) {
  var row = props.row;
  var annotation = annotationRange.annotation,
    start = annotationRange.start,
    end = annotationRange.end;
  var frame = annotation.frame,
    _annotation$internalS = annotation.internalStartCodonIndices,
    internalStartCodonIndices = _annotation$internalS === void 0 ? [] : _annotation$internalS;
  var normalizedInternalStartCodonIndices = internalStartCodonIndices.filter(function (position) {
    if (position >= row.start && position >= start && position <= end && position <= row.end) {
      return true;
    } else return false;
  }).map(function (position) {
    return position - start;
  });
  return {
    normalizedInternalStartCodonIndices: normalizedInternalStartCodonIndices,
    frame: frame
  };
}
function Orfs(props) {
  return /*#__PURE__*/_react["default"].createElement(_StackedAnnotations["default"], _extends({}, props, {
    getExtraInnerCompProps: getExtraInnerCompProps,
    InnerComp: _Orf["default"]
  }));
}
var _default = Orfs;
exports["default"] = _default;
module.exports = exports.default;